Jump to:

4424 Posts in 1267 Topics by 945 members

Customising the CMS

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

Moderators: martimiz, Howard, Sean, Ryan M., biapar, Willr, Ingo, swaiba

Page: 1
Go to End
Author Topic: 1951 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
    228 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!

    1951 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.