La classe de pagination fournie avec thinkphp a des bugs. Par exemple, lorsque nous recherchons des mots-clés, les mots-clés sont chinois Lorsque nous cliquons sur pagination pour la deuxième fois, les caractères seront tronqués. et ne peut pas être affiché normalement. Le numéro de page dont nous avons besoin. Cet article propose une solution à ce problème.
Le problème des caractères tronqués est dû à des problèmes de construction des URL dans la classe de pagination thinkphp. Les URL de pagination de Thinkphp utilisent "/" pour séparer les paramètres. Lors de la transmission des données à l'URL, via l'URL, elles seront cryptées. tronqué lors du passage pour la deuxième fois. Si nous utilisons "?" et "&" pour séparer les paramètres, ce problème ne se produira pas.
Le contenu à modifier est donc le fichier de classe de pagination de thinkphp : /ThinkPHP/Extend/Library/ORG/Util/Page.class.php file.
Le code modifié spécifique est :
1. Ajoutez une fonction personnalisée à la fin du fichier de classe de pagination thinkphp Page.class.php pour remplacer le symbole de séparateur de paramètre dans l'URL. Fonction Le contenu. est la suivante :
private function clin_page_url($parameter){ $url = U(''); $url = str_replace('.html', '?', $url); foreach ($parameter as $key => $value) { $url .= $key.'='.$value.'&'; } $url = substr($url, 0,-1); return $url; }
2. Modifiez l'url finale générée
Dans la ligne 99 du fichier Page.class.php, remplacez le
$url=U('',$parameter);
d'origine par :
$url=$this->clin_page_url($parameter); // 生成标准的url
Après ces deux étapes de modification, vous pouvez résoudre le problème de pagination tronquée dans thinkphp.
Tutoriel recommandé : "TP5"
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!