Comment faire en sorte que la balise de liste de DEDECMS prenne en charge le tri par poids ?
Le système DEDECMS prend en charge le tri par poids des documents, qui peut être utilisé dans le modèle :
{dede:arclist row='10' titlelen='50' orderby='weight'} •[field:textlink/] {/dede:arclist}
Le orderby='weight' réalise le tri des documents en fonction du poids. Il s'agit de la balise arclist, qui peut être utilisée n'importe où pour appeler la liste de documents
Cependant, sur la page de liste de colonnes, si vous souhaitez utiliser la balise list (pour implémenter la pagination de la liste de documents), vous je veux aussi trier par poids,
{dede:list pagesize='10' titlelen='50' orderby='weight'} •[field:textlink/] {/dede:list}
Vous constaterez que votre liste n'est pas triée par poids, peu importe la façon dont vous la modifiez, son ordre est toujours le même !
Cause : dedecms ne prend en charge que la balise arclist pour le tri des poids, et ne prend pas en charge la balise list
Solution :
1 Ouvrez le fichier arc.listview.class.php <. 🎜>
2. Recherchez l'instruction "else if($orderby=="lastpost") {", qui se trouve probablement à la ligne 609. Appuyez sur la touche Entrée devant cette ligne et insérez l'instruction suivante :
else if($orderby=="weight") { $ordersql = " order by arc.weight $orderWay"; }
if(ereg('hot|click|weight|lastpost',$orderby))
{dede:arclist row='10' titlelen='50' orderby='weight'} •[field:textlink/] {/dede:arclist}
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!