ホームページ > バックエンド開発 > PHPチュートリアル > thinkphp5でページング機能を実装する方法の紹介

thinkphp5でページング機能を実装する方法の紹介

黄舟
リリース: 2023-03-16 19:10:01
オリジナル
4498 人が閲覧しました

実際、ページネーション自体の内容はそれほど多くありません。ただし、スタイルの問題となると、かなり面倒に思えます。そこで、ページングクラスを見つけて調べてみました。一般的な構造について話しましょう。ページのスタイルを変更する必要がある場合は、自分でスタイルを変更できます。事故を防ぐためにも、事前にバックアップをしておくことをお勧めします。

最初はページング呼び出しです。tp5

$mod = new \app\index\model\Blogmsg();
$mo = $mod->paginate(1,14);
$this->assign('list', $mo);
// 渲染模板输出
return $this->fetch('list');
//模板方面
<p>
<ul>
{volist name=&#39;list&#39; id=&#39;user&#39;}
<li> {$user.nickname}</li>
{/volist}
</ul>
</p>
{$list->render()}
ログイン後にコピー

を呼び出すのは比較的簡単です。関数の最初のパラメータは各ページに表示されるページ数、2 番目のパラメータは合計で表示されるページ数です。

(元々は10ページあり、5ページしか書き込まないので、6〜10ページは表示されませんが、アドレスバーのこのパラメータをジャンプして対応するコンテンツを取得することはできます...)

デフォルトではこのようなエフェクトになっています。ただし、これはブートストラップ テンプレートでのみ使用できる効果です。ブートストラップの特性に基づいて特別に命名されました。

言い換えれば、他のテンプレートでは、それは単なる数字です。

ページ分割されたファイルの場所は thinkphplibrarythinkpaginator にあります。
ドライバーにはページングスタイルのオリジナルバージョンがあります。直接変更すると、後のメンテナンスに役立ちません。そしてtp5では非常に便利な改造方法も提供しています。ソース ファイルをコピーしてフォルダーに貼り付け、名前を変更します。次に、クラス Bootstrap の単語「Bootstrap」を変更して、Paginator をファイルの名前に拡張します。次に、config.php に移動して、ページング関連の設定を見つけます。

'type' => 'bootstrap' をファイル名に変更します。直接呼び出すことができます。 &#39;type&#39; => &#39;bootstrap&#39;,改成你的文件名字。就可以直接调用了。

我把几个牵扯到样式的函数名称列出来,简单的说一下存在的意义。

render()渲染分页,大白话就是这个分页类的主体。

return sprintf(
  &#39;<ul class="pagination">%s %s %s</ul>&#39;,
  $this->getPreviousButton(),
  $this->getLinks(),
  $this->getNextButton()
);
ログイン後にコピー

这里就牵扯到css的样式,可以根据自己的需要替换。

页码自身没有首页和尾页单项。(但是函数为你提供了尾页的值)
可以自己去做一个填写。复制getNextButton()进行相关的修改就可以了。

getNextButton()函数里会看见另外两个函数

getAvailablePageWrapper(url,page)getDisabledTextWrapper($text)

刚刚的渲染函数是可以理解为箱体,这两个函数可以理解为按钮了。想改样式在这里该就行了。能做到这里的都不会有太大的问题。

getLinks()

スタイルに関わる関数名をいくつか挙げて、その存在の意味について簡単に説明します。 🎜🎜render() はページングをレンダリングし、言語はこのページング クラスの本体です。 🎜rrreee🎜これには CSS スタイルが含まれており、必要に応じて置き換えることができます。 🎜🎜 ページ番号自体には最初と最後のページ項目はありません。 (ただし、関数は最後のページの値を提供します) 🎜自分で入力することもできます。 getNextButton() をコピーして、関連する変更を加えるだけです。 🎜🎜getNextButton() 関数には、他にも 2 つの関数 🎜🎜getAvailablePageWrapper(url,page)getDisabledTextWrapper($text) が表示されます。 🎜🎜今のレンダリング機能はボックスとして理解でき、これら 2 つの機能はボタンとして理解できます。スタイルを変更したい場合は、ここで変更してください。これができる人なら特に問題はないでしょう。 🎜🎜getLinks() が真ん中にあります。基本的にはコードを見れば大まかな意味がわかります。基本的に、ページングを変更する場合は、これらの場所から開始できます。 🎜

以上がthinkphp5でページング機能を実装する方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート