dedecms 列表頁標題修改圖文方法(利于優化),dedec
導讀:dedecmsdedecmsdedecms實現"文章標題_欄目二_欄目一_網站名"類型標題dede會員中心模板免費織夢模板。
最近看到sina.com.cn qq.com 163.com 這些大站的頁面標題title ,發現他們的標題如下 頻道頁: 頻道名_網站名 列表頁:列表名_頻道名_網站名 內容頁:文章名_欄目二(列表名)_欄目一(頻道名)_網站名 也想把自己的小站改成這樣的,去查了查dedecms的幫助文檔,發現沒有這樣相關標記,看來只能自己動手了,又開始baidu,發現這樣的文章還不少,請查閱本站轉來的另一篇文章,dede手機模板 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); } } 如圖:
接下來再在解析列表頁,內容頁的類里加入相關代碼, 在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'/} 調用 如圖
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-07-21 ,文章dedecms 列表頁標題修改圖文方法(利于優化),dedec主要講述標題,標簽,dedecms網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_32971.html