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 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘