Jump to:

5513 Posts in 1732 Topics by 1218 members

Customising the CMS

SilverStripe Forums » Customising the CMS » Pagination for Multiple Page Types

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Page: 1
Go to End
Author Topic: 2701 Views
  • svinkle
    Avatar
    Community Member
    16 Posts

    Pagination for Multiple Page Types Link to this post

    Hi all,

    I'm attempting to output some pagination for more than one page type. My function gets all the data as expected, but ".MoreThanOnePage" returns false. I followed the [url=http://doc.silverstripe.org/doku.php?id=private:recipes:paginationguide in the wiki and it works for one page type, but not in this instance.

    Here's what I have in my page controller:

    function LatestNews($pageLimit=2) {

    if(!isset($_GET['start']) || !is_numeric($_GET['start']) || (int)$_GET['start'] < 1) $_GET['start'] = 0;

    $SQL_start = (int)$_GET['start'];

    $articles = DataObject::get("Page", "`ClassName` IN ('DocPage', 'TechDocPage')");

    $returnarticles = $articles->getRange($SQL_start, $pageLimit);

    return $returnarticles;
    }

    And in my template I have the controller returning the page data as it should, but there is never any output for the pagination:

    <% control LatestNews %>
    <p>$DateAdded.Format(j F Y)</p>
    <p>$Content.FirstParagraph</p>
    <% end_control %>
    .
    .
    .
    <% if LatestNews.MoreThanOnePage %>
    <% if LatestNews.PrevLink %>
    <a href="$LatestNews.PrevLink">&lt;&lt; Prev</a> |
    <% end_if %>

    <% control LatestNews.Pages %>
    <% if CurrentBool %>
    <strong>$PageNum</strong>
    <% else %>
    <a href="$Link" title="Go to page $PageNum">$PageNum</a>
    <% end_if %>
    <% end_control %>

    <% if LatestNews.NextLink %>
    | <a href="$LatestNews.NextLink">Next &gt;&gt;</a>
    <% end_if %>
    <% end_if %>

    I must be missing something in my data object call?

  • splatEric
    Avatar
    Community Member
    15 Posts

    Re: Pagination for Multiple Page Types Link to this post

    I am having a similar problem - did you have any luck resolving?

  • Pigeon
    Avatar
    Community Member
    243 Posts

    Re: Pagination for Multiple Page Types Link to this post

    If you follow the pagination recipe, it is fairly straight forward, the SQL_Limit needs to go in the DataObject::get(), rather than getRange once you pull all of the pages out.

    http://doc.silverstripe.org/private:recipes:pagination

  • splatEric
    Avatar
    Community Member
    15 Posts

    Re: Pagination for Multiple Page Types Link to this post

    I was being a moron; hadn't updated my template page properly!! So I wasn't having a similar problem at all!

    2701 Views
Page: 1
Go to Top

Want to know more about the company that brought you SilverStripe? Then check out SilverStripe.com

Comments on this website? Please give feedback.