Lorsque vous créez un site Web, le style de pagination devra peut-être être contrôlé en fonction des exigences du modèle. À ce stade, de nombreuses personnes modifieront la fonction pages() dans le fichier global phpcmslibsfunctionsglobal.func.php, et cela posera des problèmes. : Cette fonction de pagination affectera également l'arrière-plan, c'est-à-dire que cette fonction de pagination est partagée par l'ensemble du site. La solution est fournie ci-dessous : (Cela nécessite de modifier le fichier, pensez à sauvegarder avant de modifier)
Ouvrez le fichier phpcmslibsfunctionsglobal.func.php, recherchez la fonction de pagination, copiez-la, collez-la sous la fonction de pagination par défaut, et renommez-la. comme le mien, nommez-le wz_pages et enregistrez-le.
Ouvrez phpcms/libs/classes/template_cache.class.php et trouvez la ligne 207 :
$str .= '$pages = pages($'.$op.'_total, $page, $pagesize, $urlrule);';
Ajoutez en dessous de cette ligne :
$str .= '$wz_pages = wz_pages($'.$op.'_total, $page, $pagesize, $urlrule);';
Enregistrer. Enfin, si vous souhaitez utiliser votre fonction de pagination personnalisée, utilisez simplement {$wz_pages} directement dans le modèle. Si vous souhaitez modifier le style à l'avenir, modifiez-le directement :
phpcmslibsfunctionsglobal.func.php La fonction wz_pages dans. ce fichier est C'est ok, cela n'affectera pas l'arrière-plan.
Optimisation ultérieure :
Lors de l'utilisation, il a été constaté que la pagination SQL ne peut pas être utilisée normalement, le code suivant doit donc être ajouté :
Ouvrez phpcms/libs/classes/template_cache.class.php et trouvez la ligne 178 :
$str .= '$r = $get_db->sql_query("'.$sql.'");$s = $get_db->fetch_next();$pages=pages($s[\'count\'], $page, $pagesize, $urlrule);';
Ajoutez en dessous :
$str .= '$r = $get_db->sql_query("'.$sql.'");$s = $get_db->fetch_next();$wz_pages=wz_pages($s[\'count\'], $page, $pagesize, $urlrule);';
De cette façon, la pagination SQL est également normale.
Autre optimisation de suivi :
Un ami a mentionné que la méthode ci-dessus ne peut pas être utilisée pour la pagination de la liste de collecte dans le centre des membres.
Étant donné que la fonction de pagination de la liste de collections est directement définie dans d'autres fichiers, il n'est pas possible de modifier le fichier cache du modèle. La méthode de modification est fournie ci-dessous :
Les modifications spécifiques sont les suivantes :
phpcmslibsclassesmodel. .class.php Ligne n°61
$this->pages = pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
Modifiez la ligne ci-dessus en :
$this->pages = wz_pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
({$pages} dans le modèle n'a pas besoin d'être modifié en { $wz_pages})
Ce qui précède est la première méthode.
Mais dans ce cas, l'arrière-plan peut également être affecté. contrôlé Dans de nombreux endroits, vous pouvez également le modifier de cette manière. C'est le même fichier que ci-dessus. Ne modifiez pas la ligne 61. Ajoutez directement en dessous de la ligne 61 :
$this->wz_pages= wz_pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
Ensuite allez sur : phpcmsmodulesmemberindex.php ligne 718 et modifiez la ligne suivante
$pages = $this->favorite_db->pages;
est modifié par :
$wz_pages = $this->favorite_db->wz_pages;
{$pages} dans le modèle doit être modifié par {$ wz_pages }, cela prend la liste de collections comme exemple, et les autres sont similaires.
Ce qui précède est le contenu de la méthode de développement secondaire des fonctions de pagination personnalisées dans PHPCMS V9. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (m.sbmmt.com) !
Articles connexes :
Comment définir les paramètres SEO pour le titre de PHPCMS V9
Explication détaillée de l'idée d'ajouter navigation secondaire dans PHPCMS V9
Solutions à divers problèmes liés au développement secondaire et à l'utilisation de phpcms v9