Comment Empire CMS obtient-il l'ID de liste actuel ?
L'exemple de cet article décrit comment Imperial CMS obtient l'ID de liste actuel dans une liste personnalisée. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Il est recommandé d'étudier le "Tutoriel Empire CMS"
Quand je faisais un projet avec Empire CMS aujourd'hui , j'ai trouvé que dans la liste de personnalisation d'Empire Impossible d'obtenir l'ID de la liste personnalisée actuelle. Après avoir analysé le code source d'Empire, nous avons constaté que la valeur par défaut envoyée par Empire est 0. Enregistrons brièvement comment implémenter « Liste personnalisée Empire CMS pour obtenir l'ID de liste actuel » en modifiant le code source
Introduction aux fonctions du projet mentionnées ci-dessus :
Les utilisateurs ont créé un grand nombre de éléments utilisant la fonction de liste personnalisée Listes personnalisées, puis dans ces listes personnalisées, les noms des listes personnalisées de la même catégorie doivent être obtenus et des styles CSS spécifiques doivent être ajoutés au style du nom de colonne actuel.
Extrait de code du modèle de liste personnalisée
Le code est le suivant :
[e:loop={'select listid,listname,filepath from [!db.pre!]enewsuserlist where classid=1',100,24}] <li<?=($bqr[listid]==$GLOBALS[navclassid]?' class="this"':'')?>><?=$bqr[listname]?></li> [/e:loop]
Par défaut, la valeur de $GLOBALS[navclassid] est vide, il suffit donc de la modifier le programme Attribuez la valeur d'ID de la liste personnalisée actuelle à $GLOBALS[navclassid]
Modifiez le programme source empire
En analysant le processus d'exécution du programme avec l'outil phpxref, nous avons constaté que la fonction qui génère la liste d'informations personnalisée est ReUserlist(), ReUserlist() appelle en outre la fonction ListHtml() pour générer une liste d'informations et transmet l'événement $enews comme 4. À ce stade, l'ID de liste peut être transmis via le Fonction ListHtml().
Ouvrez (/e/class/functions.php) et trouvez la fonction ListHtml (vous pouvez rechercher la fonction ListHtml pour une recherche rapide) et trouvez le code suivant
Le code est le suivant :
$GLOBALS['navclassid']=$classid;
Changer en
Le code est le suivant :
$GLOBALS['navclassid']=$enews==4?$userlistr['listid']:$classid;
Enregistrer (notez le problème d'encodage du fichier)
Régénérer la liste personnalisée, la fonction requise a été mis en œuvre !
J'espère que cet article sera utile à la programmation de sites Web de chacun basés sur Imperial CMS.
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!