diff options
-rw-r--r-- | system/libraries/Pagination.php | 13 | ||||
-rw-r--r-- | user_guide/changelog.html | 1 | ||||
-rw-r--r-- | user_guide/libraries/pagination.html | 11 |
3 files changed, 20 insertions, 5 deletions
diff --git a/system/libraries/Pagination.php b/system/libraries/Pagination.php index 10af3fd11..2b8d3e454 100644 --- a/system/libraries/Pagination.php +++ b/system/libraries/Pagination.php @@ -50,6 +50,7 @@ class CI_Pagination { var $prev_tag_close = '';
var $num_tag_open = ' ';
var $num_tag_close = '';
+ var $page_query_string = FALSE;
/**
* Constructor
@@ -152,8 +153,16 @@ class CI_Pagination { $start = (($this->cur_page - $this->num_links) > 0) ? $this->cur_page - ($this->num_links - 1) : 1;
$end = (($this->cur_page + $this->num_links) < $num_pages) ? $this->cur_page + $this->num_links : $num_pages;
- // Add a trailing slash to the base URL if needed
- $this->base_url = rtrim($this->base_url, '/') .'/';
+ // Is pagination being used over GET or POST? If get, add a per_page query
+ // string. If post, add a trailing slash to the base URL if needed
+ if ($CI->config->item('enable_query_strings') === TRUE OR $this->page_query_string === TRUE)
+ {
+ $this->base_url = rtrim($this->base_url).AMP.'per_page=';
+ }
+ else
+ {
+ $this->base_url = rtrim($this->base_url, '/') .'/';
+ }
// And here we go...
$output = '';
diff --git a/user_guide/changelog.html b/user_guide/changelog.html index 1c1d7a3c5..568b3b961 100644 --- a/user_guide/changelog.html +++ b/user_guide/changelog.html @@ -69,6 +69,7 @@ SVN Revision: not currently released</p> <li>Libraries
<ul>
<li>Set the mime type check in the <a href="libraries/file_uploading.html">Upload class</a> to reference the global mimes variable.</li>
+ <li>Added support for query strings to the <a href="libraries/pagination.html">Pagination class</a>, automatically detected or explicitly declared.</li>
</ul>
</li>
<li>Other changes
diff --git a/user_guide/libraries/pagination.html b/user_guide/libraries/pagination.html index 5f9d8a0f1..d96f2d00c 100644 --- a/user_guide/libraries/pagination.html +++ b/user_guide/libraries/pagination.html @@ -117,9 +117,14 @@ something different you can specify it.</p> <h4>$config['num_links'] = 2;</h4>
-<p>The number of "digit" links you would like before and after the selected page number. For example, the number 2
-will place two digits on either side, as in the example links at the very top of this page.</p>
-
+<p>The number of "digit" links you would like before and after the selected page number. For example, the number 2
+ will place two digits on either side, as in the example links at the very top of this page.</p>
+<h4>$config['page_query_string'] = TRUE</h4>
+<p>By default, the pagination library assume you are using <a href="../general/urls.html">URI Segments</a>, and constructs your links something like</p>
+<p><code>http://www.your-site.com/index.php/test/page/20</code></p>
+<p>If you have $config['enable_query_strings'] set to TRUE your links will automatically be re-written using Query Strings. This option can also be explictly set. Using $config['page_query_string'] set to TRUE, the pagination link will become.</p>
+<p><code>http://www.your-site.com/index.php?c=test&m=page&per_page=20</code></p>
+<p>Note that "per_page" is the string automatically passed.</p>
<h2>Adding Enclosing Markup</h2>
<p>If you would like to surround the entire pagination with some markup you can do it with these two prefs:</p>
|