dongou3158 2015-08-25 16:09
浏览 69

laravel 5自定义分页器无法正常工作

im trying to implement a view like sphinx documentation where you can click on next and previous to navigate between pages. not sure if im using the custom paginator on array right, i cant get page navigation links to display on a view page. this is the code:

   public function paginate($array, $perPage, $pageStart=1) {

    $offset = ($pageStart * $perPage) - $perPage;

    return new Paginator(array_slice($array, $offset, $perPage, true), $perPage, $pageStart);
   }

   view()->composer('layouts.book', function($view)
   {
        //some other code
        $pages = [];
        foreach($book->textsection_pages as $textsection) {
            $pages[] = $textsection->alias;
        }
        foreach($book->task_pages as $task) {
            $pages[] = $task->alias;
        }
        foreach($book->tutor_pages as $tutor) {
            $pages[] = $tutor->alias;
        }
        foreach($book->eval_pages as $eval) {
            $pages[] = $eval->alias;
        }

        $chapters = $book->chapters()->orderBy('weight', 'asc')->get();
        $paginated = $this->paginate($pages, 1);
        $view->with(['chapters' => $chapters, 'book' => $book, 'paginated' => $paginated]);

    });

and in the view i called {!! $paginated->render() !!}, but no navigation link was displayed.

  • 写回答

1条回答 默认 最新

  • drg5577 2015-08-25 20:35
    关注

    Here is how I handle custom Pagination in my application (Laravel 5.1). I create a partial view resources/views/partials/pagination.blade.php

    @if ($paginator->lastPage() > 1)
    <ul id="pagination">
        <li>
        @if ($paginator->currentPage() > 1)
            <a class="prev" href="{{ $paginator->url($paginator->currentPage()-1) }}">Previous</a>
        @else
            <span class="disabled">Previous</span>
        @endif
        </li>
    
        <li>
        @if ($paginator->currentPage() !== $paginator->lastPage())
            <a class="next" href="{{ $paginator->url($paginator->currentPage()+1) }}" >Next</a>
        @else
            <span class="disabled">Next</span>
        @endif
        </li>
    </ul>
    @endif
    

    In my controller, I pass the usual $model->paginate(10) method. Then finally in my view where I want to use the Paginator, resources/views/list.blade.php I do this:

    @foreach ($objects as $object)
        // Here we list the object properties
    @endforeach
    @include("partials.pagination", ['paginator' => $objects])
    
    评论

报告相同问题?

悬赏问题

  • ¥15 C# iMobileDevice
  • ¥15 谁会做这个啊#ensp#Boson NetSim
  • ¥15 如何编写针对TPS6503320FRGE型号的电源管理芯片的编程代码?
  • ¥15 设计简单目录管理系统,要满足以下内容
  • ¥15 关于九十度混合耦合器信号分析问题
  • ¥15 Cesm如何关闭不用的模块呢
  • ¥15 vue2两层数据导出为excle
  • ¥15 有人能帮我做一下这个项目吗
  • ¥15 网络上传速率比下载速率高
  • ¥15 (标签-游戏|关键词-网页游戏)