]> git.decadent.org.uk Git - maypole.git/blobdiff - templates/factory/pager
Maypole::Application supports Maypole::HTTPD (which needs a patch).
[maypole.git] / templates / factory / pager
index 419d1019efdb7852027fe86b50d607a8b0e213d0..78c89fd6aa93da92fef0f4d59738b37f52588db5 100644 (file)
@@ -12,6 +12,10 @@ IF pager AND pager.first_page != pager.last_page;
 %]
 <p class="pager">Pages: 
 [%
+    UNLESS pager_action;
+       SET pager_action = request.action;
+    END;
+   
     SET begin_page = pager.current_page - 10;
     IF begin_page < 1;
         SET begin_page = pager.first_page;
@@ -22,18 +26,21 @@ IF pager AND pager.first_page != pager.last_page;
     END;
      FOREACH num = [begin_page .. end_page];
           IF num == pager.current_page;
-            "["; num; "] ";
+            "<span class='current-page'>"; num; "</span>";
           ELSE;
-            SET label = "[" _ num _ "]";
+            SET label = num;
             SET args = "?page=" _ num;
-            SET action = "list";
+           SET args = args _ "&order=" _ request.params.order
+             IF request.params.order;
+           SET args = args _ "&amp;o2=desc"
+             IF request.params.o2 == "desc";
             FOR col = classmetadata.columns.list;
-              IF request.query.$col;
-                SET args = args _ "&" _ col _ "=" _ request.query.$col;
+              IF request.params.$col;
+                SET args = args _ "&" _ col _ "=" _ request.params.$col;
                 SET action = "search";
               END;
             END;
-            link(classmetadata.table, action, args, label);
+            link(classmetadata.table, pager_action, args, label);
           END;
      END;
 %]