[英]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.