diff options
-rw-r--r-- | system/libraries/Pagination.php | 37 | ||||
-rw-r--r-- | user_guide/changelog.html | 2 | ||||
-rw-r--r-- | user_guide/libraries/pagination.html | 9 |
3 files changed, 31 insertions, 17 deletions
diff --git a/system/libraries/Pagination.php b/system/libraries/Pagination.php index 68c35a57e..3a0632d09 100644 --- a/system/libraries/Pagination.php +++ b/system/libraries/Pagination.php @@ -56,6 +56,7 @@ class CI_Pagination { var $num_tag_close = ''; var $page_query_string = FALSE; var $query_string_segment = 'per_page'; + var $display_pages = TRUE; var $anchor_class = ''; /** @@ -216,30 +217,34 @@ class CI_Pagination { } - // Write the digit links - for ($loop = $start -1; $loop <= $end; $loop++) + // Render the pages + if ($this->display_pages !== FALSE) { - $i = ($loop * $this->per_page) - $this->per_page; - - if ($i >= 0) + // Write the digit links + for ($loop = $start -1; $loop <= $end; $loop++) { - if ($this->cur_page == $loop) - { - $output .= $this->cur_tag_open.$loop.$this->cur_tag_close; // Current page - } - else + $i = ($loop * $this->per_page) - $this->per_page; + + if ($i >= 0) { - $n = ($i == 0) ? '' : $i; - - if ($n == '' && $this->first_url != '') + if ($this->cur_page == $loop) { - $output .= $this->num_tag_open.'<a '.$this->anchor_class.'href="'.$this->first_url.'">'.$loop.'</a>'.$this->num_tag_close; + $output .= $this->cur_tag_open.$loop.$this->cur_tag_close; // Current page } else { - $n = ($n == '') ? '' : $this->prefix.$n.$this->suffix; + $n = ($i == 0) ? '' : $i; + + if ($n == '' && $this->first_url != '') + { + $output .= $this->num_tag_open.'<a '.$this->anchor_class.'href="'.$this->first_url.'">'.$loop.'</a>'.$this->num_tag_close; + } + else + { + $n = ($n == '') ? '' : $this->prefix.$n.$this->suffix; - $output .= $this->num_tag_open.'<a '.$this->anchor_class.'href="'.$this->base_url.$n.'">'.$loop.'</a>'.$this->num_tag_close; + $output .= $this->num_tag_open.'<a '.$this->anchor_class.'href="'.$this->base_url.$n.'">'.$loop.'</a>'.$this->num_tag_close; + } } } } diff --git a/user_guide/changelog.html b/user_guide/changelog.html index 4f86c1e94..94eff05ba 100644 --- a/user_guide/changelog.html +++ b/user_guide/changelog.html @@ -79,7 +79,7 @@ Hg Tag: </p> <li>Libraries <ul> <li>Added <var>$prefix</var>, <var>$suffix</var> and <var>$first_url</var> properties to <a href="./libraries/pagination.html">Pagination library</a>.</li> - <li>Added the ability to suppress first, previous, next and last links by setting their values to FALSE in the <a href="./libraries/pagination.html">Pagination library</a>.</li> + <li>Added the ability to suppress first, previous, next, last, and page links by setting their values to FALSE in the <a href="./libraries/pagination.html">Pagination library</a>.</li> <li>Added <a href="./libraries/security.html">Security library</a>, which now contains the <dfn>xss_clean</dfn> function, <dfn>filename_security</dfn> function and other security related functions.</li> <li>Added CSRF (Cross-site Reference Forgery) protection to the <a href="./libraries/security.html">Security library</a>.</li> <li>Added <var>$parse_exec_vars</var> property to Output library.</li> diff --git a/user_guide/libraries/pagination.html b/user_guide/libraries/pagination.html index 33c871078..521b708b1 100644 --- a/user_guide/libraries/pagination.html +++ b/user_guide/libraries/pagination.html @@ -197,6 +197,15 @@ something different you can specify it.</p> <h4>$config['num_tag_close'] = '</div>';</h4> <p>The closing tag for the "digit" link.</p> +<h2>Hiding the Pages</h2> + +<p>If you wanted to not list the specific pages (for example, you only want "next" and "previous" links), you can suppress their rendering by adding:</p> + +<code> +$config['display_pages'] = FALSE; +</code> + + <h2>Adding a class to every anchor</h2> <p>If you want to add a class attribute to every link rendered by the pagination class, you can set the config "anchor_class" equal to the classname you want.</p> |