Jump to:

3462 Posts in 1065 Topics by 740 members

Data Model Questions

SilverStripe Forums » Data Model Questions » PaginatedList

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

Page: 1
Go to End
Author Topic: 674 Views
  • Dimenicius
    Community Member
    8 Posts

    PaginatedList Link to this post

    Hi, I'm having some trouble working with PaginatedLists. Posted this on General Question Forum but I think here is the right place.
    I want to make my category page show 15 post in a paginatedlist but the pages must go on 5 pages step. (i.e. Page1 results: post 1-15, Page2 results: post 6-20). The first 5 results won't show the same fields of the others.
    The first page is working fine, but the buttons to change pages doesn't work, when I click on it, the URL changes but the page shows the same results.

    Here is my actual code:


    public function Datalist(integer $num, $start ) {
    $paginatedList = new PaginatedList(Page::get());
    $paginatedList->setPageLength($num)->setPageStart($start)-> where('"ParentID" = 7')->Sort("ID", "Desc");
    return $paginatedList;


    <% loop $Datalist(5,0) %>
    <a href=$link> $Title </a><br>
    <% end_loop %>


    <% loop $Datalist(10,5) %>
    <a href=$link> $Title </a><br>
    <% end_loop %>


    <% if $Datalist(5,0).MoreThanOnePage %>
    <% if $Datalist(5,0).NotFirstPage %>
    <a class="prev" href="$Datalist(5,0).PrevLink">Prev</a>
    <% end_if %>
    <% loop $Datalist(5,0).Pages %>
    <% if $CurrentBool %>
    <% else %>
    <% if $Link %>
    <a href="$Link">$PageNum</a>
    <% else %>
    <% end_if %>
    <% end_if %>
    <% end_loop %>
    <% if $Datalist(5,0).NotLastPage %>
    <a class="next" href="$Datalist(5,0).NextLink">Next</a>
    <% end_if %>
    <% end_if %>

    I've tried to:

       public function Paginando() {
    return new PaginatedList($this->Children(),$this->request);

    just to make it work with the children pages, but whenever i add the "$this->request", the page crash and shows this message:

    26    public function __construct(SS_List $list, $request = array()) {
    27       if (!is_array($request) && !$request instanceof ArrayAccess) {
    28          throw new Exception('The request must be readable as an array.');
    29       }

  • bepe
    Community Member
    4 Posts

    Re: PaginatedList Link to this post

    i fixed this error by putting my Paginando-function into the Controller-Class.

    that's also the answer to one of your other threads.

    (i found this thread first, so there should be a answer to this question, too.)

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.