ホームページ  >  記事  >  バックエンド開発  >  PHPCMSにおけるカスタムページング機能の二次開発方法例を詳しく解説

PHPCMSにおけるカスタムページング機能の二次開発方法例を詳しく解説

伊谢尔伦
伊谢尔伦オリジナル
2017-06-26 11:22:221334ブラウズ

以下では、PHPCMS V9 でカスタマイズされたページネーション関数の二次開発の方法を共有します。
方法は次のとおりです:
まずファイル phpcmslibsfunctionsglobal.func.php を開き、ページング関数を見つけてコピーし、デフォルトのページング関数の下に貼り付け、名前を変更します。たとえば、wz_pages という名前を付けて保存します。


phpcms/libs/classes/template_cache.class.php を開き、行 207 を見つけます:

$str .= '$pages = pages($'.$op.'_total, $ page , $pagesize, $urlrule);';

次の行の下に追加します:
$str .= '$wz_pages = wz_pages($'.$op.'_total, $page, $pagesize, $urlrule) ;';
保存。最後に、カスタム ページング関数を使用したい場合は、テンプレート内で直接 {$wz_pages} を使用してください。将来スタイルを変更したい場合は、ファイル
phpcmslibsfunctionsglobal.func.php 内の wz_pages 関数を変更するだけです。背景に影響を与えません。
フォローアップの最適化:
使用中に、SQL ページングが正常に使用できないことが判明したため、次のコードを追加する必要があります:


phpcms/libs/classes/template_cache.class.php を開き、178 行目を見つけます。

$str .= '$r = $get_db->sql_query("'.$sql.'");$s = $get_db->fetch_next();$pages=pages($s[\'count\'], $page, $pagesize, $urlrule);';

In 彼は以下を追加しました:

$str .= '$r = $get_db->sql_query("'.$sql.'");$s = $get_db->fetch_next();$wz_pages=wz_pages($s[\'count\'], $page, $pagesize, $urlrule);';

このように、SQL ページングも正常です。
もう 1 つのフォローアップの最適化:
友人は、上記の方法はメンバー センターのコレクション リストのページネーションには使用できないと言いました。
コレクション リストのページング機能は他のファイルに直接設定されているため、テンプレート cache ファイルを変更することはできません。変更方法は以下に示されています。
以下の具体的な変更を参照してください:


phpcmslibsclassesmodel.class。 php line 61

$this->pages = pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);

上記の行を次のように変更します:

$this->pages = wz_pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);

(テンプレートの {$pages} を {$wz_pages} に変更する必要はありません)
上記は最初の方法です。


ただし、この場合、背景も影響を受ける可能性があります。このように変更することもできるようです。行 61 は変更しないでください。 61 行目の直下に追加します:

$this->wz_pages= wz_pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);

次に、phpcmsmodulesmemberindex.php の 718 行目に移動し、次の行

$pages = $this->favorite_db->pages;

を次のように変更します。 テンプレート内の

$wz_pages = $this->favorite_db->wz_pages;

{$pages} は { に変更する必要があります。 $wz_pages}、これは例としてコレクション リストを取り上げており、他のものも同様です。

以上がPHPCMSにおけるカスタムページング機能の二次開発方法例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。