Heim >CMS-Tutorial >DEDECMS >So ändern Sie den Titel der dedecms-Listenseite

So ändern Sie den Titel der dedecms-Listenseite

藏色散人
藏色散人Original
2019-12-13 10:24:272465Durchsuche

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:

So ändern Sie den Titel der dedecms-Listenseite 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

So ändern Sie den Titel der dedecms-ListenseiteHinweis: 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. So ändern Sie den Titel der dedecms-Listenseite

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn