搜尋
首頁CMS教程DEDECMSdedecms 清單頁標題怎麼修改

dedecms 清單頁標題怎麼修改

dedecms 清單頁標題怎麼修改?

推薦學習:織夢cms

最近看到sina.com.cn qq.com 163.com 這些大站的頁面標題title ,發現他們的標題如下 

頻道頁: 頻道名稱_網站名稱 

清單頁:清單名稱_頻道名稱_網站名稱 

內容頁:文章名稱_專欄二(清單名稱)_專欄一(頻道名稱)_網站名稱 

也想把自己的小站改成這樣的,去查了查dedecms的幫助文件,發現沒有這樣相關標記,看來只能自己動手了,又開始baidu,發現這樣的文章還不少,請查閱本站轉來的另一篇文章, 

DEDE實現「文章標題-欄位名稱-網站名稱」 

#但身為一個技術人員又驅使我自己也寫了一個,下面把我自己實現的方法及如何調用貼出來,方便大家使用 

版本5.0,涉及到的類別和模板有以下幾個 

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 内容页模板

首先我們來修改dedecms的核心,(以下我說的檔名統一用5.0版,你可以對應上面我列出的文件一一查看新版對應的各檔) 

在inc_typelink.php類別裡Ctrl F查找"function GetPositionLink" 在GetPositionLink()函數下入以下函數 

這個函數用於取得目前頁面的位置資訊 

#例如欄位1 _欄2 

以下為引用的內容: 

程式碼如下:

/* 
* 得到当前页的位置,主要用在页面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); 
} 
}

如圖: 

dedecms 清單頁標題怎麼修改

接下來再在解析清單頁,內容頁的類別裡加入相關程式碼, 

在inc_archives_view.php 類別裡查找$this->Fields['position'] 在這一行下面加入以下程式碼 

#程式碼如下:

$this->TypeLink->getPosition($this->Fields['typeid'],&$this->Fields['position2'],"_");

在inc_arclist_view.php 類別裡同樣查找$this->Fields['position'] 在他下面加入以下程式碼 

#程式碼如下:

$this->TypeLink->getPosition($typeid,&$this->Fields['position2'],"_");

好了,現在我們在模板裡呼叫 

在list_article.htm和article_article.htm的title標籤裡用{dede:field name='position2'/} 呼叫 

如圖 

dedecms 清單頁標題怎麼修改

註:頻道頁無需用這樣方法呼叫,雖然也可以得到頻道名稱,但用{dede:field name='typename'/}呼叫更加方便,也不需要修改inc_arcpart_view.php類別 

實現效果如下: 

dedecms 清單頁標題怎麼修改

O了,加上這篇文章,修改織夢系統使其實現"文章名稱_專欄1_欄位2_網站名稱" 總共有4種不同的方法了,根據個人情況選擇吧, 

祝你的網站讓baidu,google收錄的更多,呵呵. 

後話: 

在開發這個功能時,發現dede像欄位資料表(平常不怎麼改動)都不緩存, 程式在用時都是即時連結資料庫查詢,就例如inc_typelink. php中都是直接sql查出來的,不禁感嘆phpcms在方面的處理要更優於dedecms, phpcms對平時不怎麼更改的數據都是直接緩存成php文件,雖然dedecms最新版5.5的生成速度還可以,但織夢的開發人員如果能更好的優化這些細節,那生成速度豈不會更加快.

以上是dedecms 清單頁標題怎麼修改的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)