Maison  >  Article  >  développement back-end  >  Explication détaillée des exemples de méthodes pour le développement secondaire de fonctions de pagination personnalisées dans PHPCMS

Explication détaillée des exemples de méthodes pour le développement secondaire de fonctions de pagination personnalisées dans PHPCMS

伊谢尔伦
伊谢尔伦original
2017-06-26 11:22:221301parcourir

Ce qui suit est une méthode pour partager avec vous un développement secondaire de la fonction de pagination personnalisée dans PHPCMS V9.
La méthode est la suivante :
Ouvrez d'abord le fichier phpcmslibsfunctionsglobal.func.php, trouvez la fonction de pagination, copiez-la, collez-la sous la fonction de pagination par défaut, renommez-la, par exemple, je l'ai nommée wz_pages, et sauvegardez-le.


Ouvrez phpcms/libs/classes/template_cache.class.php et recherchez 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, vous devez donc ajouter le code suivant :


Ouvrez phpcms/libs/classes/template_cache. class.php, recherchez la ligne 178 :

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

et 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 mettre en cache le fichier en modifiant le modèle La méthode de modification est fournie ci-dessous :
Voir le spécifique. modifications ci-dessous :


phpcmslibsclassesmodel.class.php ligne 61

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

Remplacez la ligne ci-dessus par :

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

( {$ dans les pages du modèle} n'a pas besoin d'être remplacé par {$wz_pages})
Ce qui précède est la première méthode.


Cependant, si tel est le cas, l'arrière-plan peut également être affecté. Cet endroit semble contrôler de nombreux endroits. Il peut également être modifié comme ceci. C'est le même fichier que ci-dessus. modifier 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 dans : phpcmsmodulesmemberindex.php ligne 718 et changez la ligne suivante

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

est modifié en :

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

{$pages} dans le modèle doit être modifié en {$wz_pages} Ceci prend la liste de collection comme exemple, et les autres sont similaires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn