TypeLink->." analyse la page de liste et la page de contenu .." et enregistre."/> TypeLink->." analyse la page de liste et la page de contenu .." et enregistre.">
Maison > Article > Tutoriel CMS > Comment modifier le titre de la page de liste des dedecms
Comment modifier le titre de la page de la liste des décms ?
Étude recommandée : Dreamweaver cms
J'ai récemment vu les titres des pages de sina.com.cn qq.com 163.com et j'ai découvert que leurs titres sont les suivantes
Page de la chaîne : nom de la chaîne_nom du site Web
Page de liste : nom de la liste_nom de la chaîne_nom du site Web
Page de contenu : nom de l'article_colonne deux (nom de la liste)_Colonne 1 (nom de la chaîne) _Nom du site
Je souhaite également changer mon petit site en celui-ci. J'ai vérifié le document d'aide de dedecms et j'ai constaté qu'il n'y avait pas de marque associée. Il semble que je peux seulement avoir commencé à le faire moi-même et j'ai commencé. Baidu encore. J'ai découvert qu'il existe de nombreux articles comme celui-ci. Veuillez consulter un autre article transmis depuis ce site
DEDE implémente "titre de l'article-nom de la colonne-nom du site Web"
Mais en tant que technicien. , je suis déterminé à en écrire un moi-même. Je publierai la méthode que j'ai implémentée et comment l'appeler pour la commodité de tous
Version 5.0, les classes et modèles impliqués sont les suivants Quelques
inc_archives_view.php (最新5.5版为 arc.archives.class.php)内容页生成类 inc_arclist_view.php (最新5.5版为 arc.listview.class.php)列表页生成类 inc_typelink.php(最新5.5版为 typelink.class.php) 用于获取页面位置和栏目名相关类 index_article.htm 频道页模板 list_article.htm 列表页模板 article_article.htm 内容页模板Tout d'abord, modifions le noyau de dedecms. (Les noms de fichiers que j'ai mentionnés ci-dessous utilisent la version 5.0. Vous pouvez vérifier les fichiers correspondant à la nouvelle version un par un selon les fichiers que j'ai listés ci-dessus)
Ctrl+F dans la classe inc_typelink.php pour rechercher "fonction GetPositionLink" Saisissez la fonction suivante sous la fonction GetPositionLink() Cette fonction est utilisée pour obtenir les informations de position de la page actuelle Par exemple, colonne 1_Colonne 2 Ce qui suit est le contenu cité : Le code est le suivant :
/* * 得到当前页的位置,主要用在页面title中 * $typeid 栏目id * &$info 引用传值 * $SplitSymbol 各栏目之间的分割符 * 排序 desc:栏目二_栏目一 ,asc:栏目一_栏目二 */ function getPosition($typeid,&$info,$SplitSymbol='_',$orderby='desc'){ if (empty($typeid)) return false; $this->dsql->SetQuery("Select ID,reID,typename From jyk_arctype where ID='".$typeid."'"); $infos = $this->dsql->GetOne(); $symbol = empty($info)?"":$SplitSymbol; if ($orderby=='desc'){ $info = $info.$symbol.$infos['typename']; } else{ $info = $infos['typename'].$symbol.$info; } if ($infos['reID']!='0'){ $this->getPosition($infos['reID'],&$info,$SplitSymbol,$orderby); } }Comme indiqué dans l'image : Ensuite, ajoutez le code pertinent à la page de liste d'analyse et aux classes de page de contenu Recherchez $this->Fields['position'] dans la classe inc_archives_view.php. et ajoutez le code suivant sous cette ligne Le code est le suivant :
$this->TypeLink->getPosition($this->Fields['typeid'],&$this->Fields['position2'],"_");Recherchez de la même manière $this->Fields['position'] dans la classe inc_arclist_view.php et ajoutez le code suivant en dessous Le code est le suivant :
$this->TypeLink->getPosition($typeid,&$this->Fields['position2'],"_");D'accord, maintenant nous appelons dans le modèle et utilisons {dede:field name='position2'/} dans les balises de titre de list_article.htm et article_article.htm pour appeler Comme le montre l'image Remarque : la page de la chaîne n'a pas besoin d'être appelé de cette manière. Bien que le nom du canal puisse également être obtenu, il est plus pratique de l'appeler avec {dede:field name='typename'/} Pratique, et il n'est pas nécessaire de modifier la classe inc_arcpart_view.php
L'effet est le suivant : O, ajoutez cet article, modifiez le système dreamweaver pour le rendre Il existe un total de 4 méthodes différentes pour implémenter "article name_column 1_column 2_website name". Choisissez en fonction de votre situation personnelle. J'espère que votre site Web sera inclus dans davantage de Baidu et de Google, haha. Postface : Lors du développement de ce fonction, j'ai trouvé que dede, comme la table de données des colonnes (qui ne change généralement pas beaucoup), n'est pas mis en cache lorsque le programme est utilisé, il est lié à la base de données en temps réel pour les requêtes, telles que inc_typelink .php sont directement. vérifié par SQL. Je ne peux m'empêcher de soupirer que phpcms est meilleur que dedecms dans le traitement. phpcms met directement en cache les données qui ne sont pas souvent modifiées dans des fichiers php, bien que la vitesse de génération de la dernière version de dedecms 5.5 ne soit pas mauvaise. mais si les développeurs de DreamWeaver peuvent mieux optimiser ces détails, la vitesse de génération ne serait-elle pas plus rapide
?
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!