簡體   English   中英

如何在laravel中自定義分頁?

[英]how to custom pagination in laravel?

我有一個分頁,但問題是我有太多物品,像這樣大分頁 在此處輸入圖片說明

例如,我想要的是顯示1 2 3 ... 6 7,但是我沒有發現任何東西,

這是我的動作:

public function index()
{
    // get all the logs
    $logs = DB::table('services')
        ->join('logs', 'services.id', '=', 'logs.service_id')
        ->paginate(20);
    // load the view and pass the logs
    return View::make('logs.index',array('logs'=> $logs,'title'=>'Service Logs'));
}

這是我的看法:

   <div class="container">
    @foreach($logs as $key => $value)
        <tr>
            <td>{{ $value->domain }}</td>
            <td>{{ $value->service_port }}</td>
            <td>{{ $value->checktime }}</td>
            <td class="text-center">
                @if( $value->status == 'up' ) <img src="../img/up3.png" />
                @elseif( $value->status == 'down' ) <img src="../img/down3.png" />
                @else <img width="30" height="30" src="../img/warning_icon.png" />
                @endif
            </td>
            <td>{{ $value->response_time }}</td>
        </tr>
    @endforeach
  </div>
 {{$logs->links();}}

所以我盡一切努力做到這一點,所以如果有人有任何想法,我將非常感激

默認情況下,Laravel將使用“滑動”頁碼,但是,在創建“滑動”頁碼之前,至少需要13頁。 如果您的頁面少於13頁,則默認為普通頁面范圍。

不幸的是,這個數字被硬編碼到Laravel中。

請參閱Presenter類中負責構建頁面的注釋(v4.1.24)

您可以使用自己的視圖:

config / view.php

'pagination' => 'my-pagination',

查看/my-pagination.php

<?php
$presenter = new Illuminate\Pagination\BootstrapPresenter($paginator);
$interval = 3;
$numberPages = $paginator->getLastPage();
$currentPage = $paginator->getCurrentPage();

if ($numberPages > 1)
{

    ?>
    <ul class="pagination pagination-sm">
        <?php
        if ($numberPages <= $interval)
        {
            for ($i = 1; $i <= $numberPages; $i++)
            {

                ?>
                <li class="<?php echo $i == $currentPage ? ' active' : ''; ?>">
                    <a href="<?php echo $paginator->getUrl($i); ?>" ><?php echo $i; ?></a>
                </li>
                <?php
            }
        }
        else
        {
            if ($currentPage < $interval)
            {
                if ($currentPage > 1)
                {

                    ?>
                    <li class="prev">
                        <a href="{{ $paginator->getUrl($paginator->getCurrentPage()-1) }}">
                            <i class="fa fa-angle-double-left"></i>
                        </a>
                    </li>
                    <?php
                }
                for ($i = 1; $i <= $interval; $i++)
                {

                    ?>
                    <li class="<?php echo $i == $currentPage ? ' active' : ''; ?>">
                        <a href="<?php echo $paginator->getUrl($i); ?>" ><?php echo $i; ?></a>
                    </li>
                    <?php
                }
            }
            elseif ($currentPage > ($numberPages - ($interval - 1)))
            {

                ?>
                <li class="prev">
                    <a href="{{ $paginator->getUrl($paginator->getCurrentPage()-1) }}">
                        <i class="fa fa-angle-double-left"></i>
                    </a>
                </li>
                <?php
                for ($i = ($numberPages - ($interval - 1)); $i <= $numberPages; $i++)
                {

                    ?>
                    <li class="<?php echo $i == $currentPage ? ' active' : ''; ?>">
                        <a href="<?php echo $paginator->getUrl($i); ?>" ><?php echo $i; ?></a>
                    </li>
                    <?php
                }
            }
            else
            {

                ?>
                <li class="prev">
                    <a href="{{ $paginator->getUrl($paginator->getCurrentPage()-1) }}">
                        <i class="fa fa-angle-double-left"></i>
                    </a>
                </li>
                <?php
                for ($i = ($currentPage - 1); $i <= ($currentPage + 1); $i++)
                {

                    ?>
                    <li class="<?php echo $i == $currentPage ? ' active' : ''; ?>">
                        <a href="<?php echo $paginator->getUrl($i); ?>" ><?php echo $i; ?></a>
                    </li>
                    <?php
                }
            }
        }
        if ($paginator->getLastPage() > $paginator->getCurrentPage())
        {

            ?>
            <li class = "next"><a href = "{{ $paginator->getUrl($paginator->getCurrentPage()+1) }}" class = "{{ ($paginator->getCurrentPage() == $paginator->getLastPage()) ? ' disabled' : '' }}">
                    <i class = "fa fa-angle-double-right"></i>
                </a></li>
            <?php
        }

        ?>
    </ul>
    <?php
}

?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM