Heim >CMS-Tutorial >DEDECMS >So ändern Sie den Titel der dedecms-Listenseite
Wie ändere ich den Titel der Dedecms-Listenseite?
Empfohlene Studie: Dreamweaver cms
Ich habe kürzlich die Seitentitel von sina.com.cn qq.com 163.com gesehen und herausgefunden, dass ihre Titel sind wie folgt
Kanalseite: Kanalname_Websitename
Listenseite: Listenname_Kanalname_Websitename
Inhaltsseite: Artikelname_Spalte zwei (Listenname)_Spalte 1 (Kanalname) _Website-Name
Ich möchte auch meine kleine Website in diese ändern. Ich habe das Hilfedokument von dedecms überprüft und festgestellt, dass es keine solche entsprechende Markierung gibt. Ich habe anscheinend damit begonnen Baidu hat wieder festgestellt, dass es viele Artikel wie diesen gibt.
DEDE implementiert „Artikeltitel-Spaltenname-Website-Name“
Aber als Techniker Ich bin bestrebt, selbst eine zu schreiben. Ich werde die von mir implementierte Methode und den Aufruf für alle veröffentlichen.
Version 5.0, die beteiligten Klassen und Vorlagen sind wie folgt >Ändern wir zunächst den Kernel von dedecms (Die unten genannten Dateinamen verwenden Version 5.0. Sie können die Dateien, die der neuen Version entsprechen, einzeln anhand der oben aufgeführten Dateien überprüfen)
Strg+F in der Klasse inc_typelink.php, um nach „Funktion GetPositionLink“ zu suchen. Geben Sie die folgende Funktion unter der Funktion GetPositionLink() ein
Diese Funktion wird verwendet, um die Positionsinformationen der aktuellen Seite abzurufen
Zum Beispiel Spalte 1_Spalte 2
Das Folgende ist der zitierte Inhalt:
Der Code lautet wie folgt:
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 内容页模板
Wie im Bild gezeigt:
Als nächstes fügen Sie relevanten Code zur Parsing-Listenseite und den Inhaltsseitenklassen hinzu.
Suchen Sie nach $this->Fields['position'] in der Klasse inc_archives_view.php und fügen Sie den folgenden Code unter dieser Zeile hinzu
Der Code lautet wie folgt:
/* * 得到当前页的位置,主要用在页面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); } }
Suchen Sie auf ähnliche Weise nach $this->Fields['position'] in der Klasse inc_arclist_view.php und fügen Sie die hinzu Folgender Code darunter
Der Code lautet wie folgt:
$this->TypeLink->getPosition($this->Fields['typeid'],&$this->Fields['position2'],"_");
Okay, jetzt rufen wir
in der Vorlage auf, indem wir {dede:field name='position2'/} verwenden die Titel-Tags von list_article.htm und Article_article.htm zum Aufrufen
Wie im Bild gezeigt
Hinweis: Die Kanalseite muss nicht aufgerufen werden Auf diese Weise kann zwar auch der Kanalname abgerufen werden, es ist jedoch bequemer, ihn mit {dede:field name='typename'/} aufzurufen. Praktischerweise muss die Klasse inc_arcpart_view.php
Der Effekt ist wie folgt:O, füge diesen Artikel hinzu und ändere das Dreamweaver-System, um es zu erstellen. Es gibt insgesamt 4 verschiedene Methoden, um „Artikelname_Spalte 1_Spalte 2_Website“ zu implementieren Name". Wählen Sie entsprechend Ihrer persönlichen Situation.
Ich hoffe, dass Ihre Website in mehr Baidu und Google aufgenommen wird, haha. Nachwort: Bei der Entwicklung dieser Funktion Ich habe festgestellt, dass dede wie die Spaltendatentabelle (die normalerweise nicht viel geändert wird) nicht zwischengespeichert wird. Wenn das Programm verwendet wird, wird es für Abfragen in Echtzeit mit der Datenbank verknüpft, z. B. inc_typelink.php werden alle direkt abgerufen von SQL. Ich kann nicht anders, als zu seufzen, dass phpcms Daten, die nicht oft geändert werden, direkt in PHP-Dateien zwischenspeichert, aber wenn Die Entwickler von Dreamweaver können diese Details besser optimieren. Wäre die Generierungsgeschwindigkeit nicht schneller?Das obige ist der detaillierte Inhalt vonSo ändern Sie den Titel der dedecms-Listenseite. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!