首頁 > php框架 > Laravel > laravel分頁沒有樣式怎麼解決

laravel分頁沒有樣式怎麼解決

PHPz
發布: 2023-04-09 09:30:02
原創
730 人瀏覽過

Laravel是一款非常流行的現代開發框架,其提供了大量方便的功能和工具讓開發人員輕鬆地建立高品質的網路應用程式。其中一個常見功能是分頁,Laravel也內建了方便的分頁工具,但許多開發者卻遇到了分頁樣式缺失的問題。本文將會介紹如何解決這個問題。

要使用Laravel的分頁功能,我們可以透過查詢建構器或Eloquent模型物件來進行分頁查詢。例如,透過以下程式碼可以查詢所有使用者資料並分頁展示:

use Illuminate\Support\Facades\DB;
use App\Models\User;

$users = DB::table('users')->paginate(10);

// 或者可以使用Eloquent模型对象进行分页查询

$users = User::paginate(10);
登入後複製

透過上述程式碼,我們可以得到一個分頁物件$users,該物件包含了當前分頁的使用者資料、分頁相關的連結以及其它分頁屬性。預設情況下,Laravel的分頁工具內建了兩套分頁樣式:bootstrap和semantic-ui。

但如果你想使用不同的分頁樣式,例如自己定義的CSS樣式,這時候就需要進行客製化配置了。

首先,我們需要建立一個視圖文件,該文件將會作為我們自訂後的分頁樣式的範本。我們可以在resources/views/vendor/pagination/目錄下建立一個新的模板檔案pagination.blade.php。然後,我們可以在該文件中編寫我們所需的HTML和CSS樣式。以下是一個簡單的例子:

<div class="pagination-style">
   <ul class="pagination">

       {{-- Previous Page Link --}}
       @if ($paginator->onFirstPage())
           <li class="disabled"><span>&laquo;</span></li>
       @else
           <li><a href="{{ $paginator->previousPageUrl() }}" rel="prev">&laquo;</a></li>
       @endif

       {{-- Next Page Link --}}
       @if ($paginator->hasMorePages())
           <li><a href="{{ $paginator->nextPageUrl() }}" rel="next">&raquo;</a></li>
       @else
           <li class="disabled"><span>&raquo;</span></li>
       @endif

       {{-- Pagination Elements --}}
       @foreach ($elements as $element)
           {{-- "Three Dots" Separator --}}
           @if (is_string($element))
               <li class="disabled"><span>{{ $element }}</span></li>
           @endif

           {{-- Array Of Links --}}
           @if (is_array($element))
               @foreach ($element as $page => $url)
                   @if ($page == $paginator->currentPage())
                       <li class="active"><span>{{ $page }}</span></li>
                   @else
                       <li><a href="{{ $url }}">{{ $page }}</a></li>
                   @endif
               @endforeach
           @endif
       @endforeach
   </ul>
</div>
登入後複製

在上述程式碼中,我們基於Bootstrap樣式定義了我們自己的CSS樣式,並重寫了Laravel的預設分頁範本。具體的實作細節包括了:

  1. 透過$paginator->previousPageUrl()和$paginator->nextPageUrl()取得分頁連結並渲染到HTML中;
  2. 透過$is_string()判斷當前元素是否為分頁列表中的“...”分隔符,從而進行相應的渲染;
  3. 透過$is_array()判斷當前元素是否為分頁列表中的頁碼鏈接,從而進行對應的渲染。

接下來,我們要告訴Laravel我們要使用客製化的分頁範本。我們可以在/config/view.php中新增一個設定項:

'pagination' => 'vendor.pagination.pagination'
登入後複製

這裡的vendor.pagination.pagination表示我們剛剛建立的分頁範本檔案的路徑。

最後,在視圖檔案中我們可以透過以下方式呼叫我們自訂的分頁範本:

{{ $users->links('vendor.pagination.pagination') }}
登入後複製

透過上述步驟,我們就可以在Laravel中自訂自己的分頁樣式了。當然,如果你想要實現更豐富的分頁樣式,你可以透過擴充Laravel的分頁功能來實現。

以上是laravel分頁沒有樣式怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板