Wenn Sie eine Website erstellen, müssen Sie möglicherweise häufig den Paginierungsstil entsprechend den Anforderungen der Vorlage steuern. Zu diesem Zeitpunkt ändern viele Benutzer die Seiten () in der globalen Datei phpcmslibsfunctionsglobal. func.phpFunktion , dann entsteht das Problem: 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: (Sie müssen die Datei ändern, denken Sie daran, sie vor der Änderung zu sichern)
Öffnen Sie die Datei
phpcmslibsfunctionsglobal.func.php, suchen Sie die Paging-Funktion, kopieren Sie sie und fügen Sie sie ein unter der Standard-Paging-Funktion und starten Sie sie neu. Benennen Sie sie, zum Beispiel habe ich sie wz_pages genannt, und speichern Sie sie.
Öffnen Sie
phpcms/libs/classes/template_cache.class.php und suchen Sie Zeile 207 von
$str .= '$pages = seiten($'.$op.'_total, $page, $pagesize, $urlrule);';
Fügen Sie
$str unter dieser Zeile hinzu.= '$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
Die wz_pages-Funktion in der Datei phpcmslibsfunctionsglobal.func.php ist ausreichend und hat keinen Einfluss auf den Hintergrund
Nachträgliche Optimierung:
Bei der Verwendung wurde festgestellt, dass SQL-Paging nicht normal verwendet werden kann , und es muss erneut verwendet werden:
Öffnen Sie
phpcms/libs/classes/template_cache.class.php und suchen Sie Zeile 178 von
$str .= '$r = $ get_db->sql_query("'. $sql.'");$s = $get_db->fetch_next();$pages=pages($s['count'], $page, $pagesize, $urlrule) ;';
Unter ihm Hinzugefügt:
$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 SQL-Paging auch normal. Hehe, Sie können gerne für Bricks stimmen oder nicht, Sie müssen unterstützen~~
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 bestimmt wird, ist es nicht möglich, die -Datei durch Ändern der Vorlage zwischenzuspeichern
Die Änderungsmethode wird unten bereitgestellt:
Speziell , es ist
phpcmslibsclassesmodel. class.php Zeile 61
$this->pages = page($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 der Vorlage muss nicht in { $wz_pages} geändert werden)
Das Obige ist die erste Methode.
Aber wenn dies der Fall ist, kann auch der Hintergrund davon betroffen sein.
Sie können es auch auf diese Weise ändern. Ändern Sie nicht die Zeile 61 . Fügen Sie direkt unter Zeile 61 hinzu:
$this->wz_pages= wz_pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
Gehe zu: phpcms modulesmemberindex.php Zeile 718
Ändern Sie $pages = $this->favorite_db->pages;
in:
$wz_pages = $this->favorite_db-> ;wz_pages;
{$pages} in der Vorlage sollte in {$wz_pages}
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung der benutzerdefinierten Paging-Funktion von phpcms. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!