Wenn Sie eine Website erstellen, muss der Paging-Stil möglicherweise entsprechend den Anforderungen der Vorlage gesteuert werden. Zu diesem Zeitpunkt ändern viele Benutzer die Funktion seiten () in der globalen Datei phpcmslibsfunctionsglobal.func.php Dies führt zu Problemen: Diese Paging-Funktion wirkt sich auch auf den Hintergrund aus. Das heißt, diese Paging-Funktion wird von der gesamten Site gemeinsam genutzt. Die Lösung wird unten bereitgestellt: (Dazu muss die Datei geändert werden. Denken Sie daran, vor der Änderung eine Sicherungskopie zu erstellen.)
Öffnen Sie die Datei phpcmslibsfunctionsglobal.func.php, suchen Sie die Paging-Funktion, kopieren Sie sie, fügen Sie sie unter der Standard-Paging-Funktion ein und benennen Sie sie um Benennen Sie es, wie zum Beispiel meines, mit wz_pages und speichern Sie es.
Öffnen Sie phpcms/libs/classes/template_cache.class.php und suchen Sie Zeile 207:
$str .= '$pages = pages($'.$op.'_total, $page, $pagesize, $urlrule);';
Fügen Sie unterhalb dieser Zeile hinzu:
$str .= '$wz_pages = wz_pages($'.$op.'_total, $page, $pagesize, $urlrule);';
Speichern. Wenn Sie schließlich Ihre benutzerdefinierte Paging-Funktion verwenden möchten, verwenden Sie einfach {$wz_pages} direkt in der Vorlage. Wenn Sie den Stil in Zukunft ändern möchten, ändern Sie ihn direkt:
phpcmslibsfunctionsglobal.func.php Die wz_pages-Funktion in Diese Datei ist in Ordnung, sie hat keinen Einfluss auf den Hintergrund.
Nachträgliche Optimierung:
Während der Nutzung wurde festgestellt, dass SQL-Paging nicht normal verwendet werden kann, daher muss folgender Code hinzugefügt werden:
Öffnen Sie phpcms/libs/classes/template_cache.class.php und suchen Sie Zeile 178:
$str .= '$r = $get_db->sql_query("'.$sql.'");$s = $get_db->fetch_next();$pages=pages($s[\'count\'], $page, $pagesize, $urlrule);';
Fügen Sie darunter hinzu:
$str .= '$r = $get_db->sql_query("'.$sql.'");$s = $get_db->fetch_next();$wz_pages=wz_pages($s[\'count\'], $page, $pagesize, $urlrule);';
Auf diese Weise ist auch SQL-Paging normal.
Eine weitere Folgeoptimierung:
Ein Freund erwähnte, dass die obige Methode nicht für die Paginierung der Sammlungsliste im Mitgliedercenter verwendet werden kann.
Da die Paging-Funktion der Sammlungsliste direkt in anderen Dateien festgelegt ist, ist es nicht möglich, die Vorlagen-Cache-Datei zu ändern. Die Änderungsmethode ist unten angegeben:
Die spezifischen Änderungen sind wie folgt:
phpcmslibsclassesmodel .class.php Nr. 61 Zeile
$this->pages = pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
Ändern Sie die obige Zeile in:
$this->pages = wz_pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
({$pages} in Die Vorlage muss nicht in { $wz_pages}) geändert werden.
Das Obige ist die erste Methode.
Aber in diesem Fall scheint auch der Hintergrund betroffen zu sein gesteuert An vielen Stellen können Sie es auch auf diese Weise ändern. Es handelt sich um dieselbe Datei wie oben. Ändern Sie nicht. Fügen Sie direkt unter Zeile 61 hinzu:
$this->wz_pages= wz_pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
Gehen Sie dann zu: phpcmsmodulesmemberindex.php Zeile 718 und ändern Sie die folgende Zeile
$pages = $this->favorite_db->pages;
wird geändert in:
$wz_pages = $this->favorite_db->wz_pages;
{$pages} in der Vorlage sollte in {$ geändert werden wz_pages }, hier wird die Sammlungsliste als Beispiel genommen, und die anderen sind ähnlich.
Das Obige ist der Inhalt der Methode zur sekundären Entwicklung benutzerdefinierter Paging-Funktionen in PHPCMS V9. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!
Verwandte Artikel:
So legen Sie SEO-Einstellungen für den Titel von PHPCMS V9 fest
Detaillierte Erläuterung der Idee des Hinzufügens Sekundärnavigation in PHPCMS V9
Lösungen für verschiedene Probleme bei der sekundären Entwicklung und Verwendung von phpcms v9