国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > 織夢DEDE > 正文

DedeCMS織夢TAG的URL替換成ID

2024-07-12 09:08:22
字體:
來源:轉載
供稿:網友

DedeCMS V5.7中的TAG標簽的URL一般是

http://域名/tags.php?/%B0%D9%B6%C8%BF%EC%D5%D5/

       做成TAG偽靜態修改參考文章《DedeCMS實現TAG偽靜態(萬網虛擬主機)》,中文字符的URL一樣能被百度和谷歌識別,但介于中文URL路徑過長可以替換為該TAG的ID。

打開/include/taglib/tag.lib.php

        在差不多87行找到

$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";

       將其改成

$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['id'])."/";

       這樣就把每個動態的tag標簽生成了如:

http://域名/tags/12/

       很多人設計TAG標簽URL后面有“.html的”后綴,其實直接用斜杠“/”更好,代表這是一個目錄。

打開/include/arc.taglist.clss.php,找到(下面出現的分隔符請去掉)

$this->TagInfos = $this->dsql->GetOne("Select * From `#分隔符@__tagindex` where tag like '{$this->Tag}' ");

       修改為

$this->TagInfos = $this->dsql->GetOne("Select * From `#分隔符@__tagindex` where id like '{$this->Tag}' ");

       由于TAG替換成了ID,原有的調用方法有些變化,訪問的tag列表如果用{dede:field.title/}調用的是ID,這不友好,下面是修改及調用方法

打開/include/arc.taglist.class.php,找到

//設置一些全局參數的值foreach($GLOBALS['PubFields'] as $k=>$v) $this->Fields[$k] = $v;

       下面增加

//by CUOxin.com$s = $this->dsql->GetOne("Select tag From `#分隔符@__tagindex` where id = '{$this->Tag}' ");$this->Fields['tag'] = $s['tag'];$this->Fields['title'] = $s['tag'];//end

       往下繼續找到

$this->TagInfos = $this->dsql->GetOne("Select * From `#分隔符@__tagindex` where tag like '{$this->Tag}' ");

       修改為

$this->TagInfos = $this->dsql->GetOne("Select * From `#分隔符@__tagindex` where id like '{$this->Tag}' ");

       一般在站內都是用GetTags()函數調用,但這個函數并沒有對應的ID。查看了一下taglist表,發現用的是tid。

[field:id function=GetTags(@me)/],調出來的會是/tags//

打開/include/helpers/archive.helper.php,找到

$query = "SELECT tag FROM `#分隔符@__taglist` WHERE aid='$aid' ";$dsql->Execute('tag',$query);while($row = $dsql->GetArray('tag')){   $tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);}

       這里增加了絕對路徑的修改。

$query = "SELECT tid,tag FROM `#分隔符@__taglist` WHERE aid='$aid' ";$dsql->Execute('tid',$query);while($row = $dsql->GetArray('tid')){   $tags .= "<a href='".$GLOBALS['cfg_basehost']."/tags/".urlencode($row['tid'])."/'>".$row['tag']."</a>";}

調用全站TAG標簽帶鏈接

{dede:tag row='100' sort='new' getall='1'} <a target="_blank" href='[field:link/]'>[field:tag /]</a>{/dede:tag}

       有幾個參數需要了解

row:調用條數sort:排序方式 month,rand,weekgetall:獲取類型 0 為當前內容頁TAG標記,1為獲取全部TAG標記

調用當前內容頁TAG標簽帶鏈接

{dede:tag row='10' sort='new' getall='0'}<a target="_blank" href='[field:link/]'>[field:tag /]</a>{/dede:tag}

首頁、列表頁調用文章TAG標簽帶鏈接

{dede:arclist row='10' titlelen='80'} <a target="_blank" href="[field:link/]">[field:id function=GetTags(@me)/]</a>{/dede:arclist}

       TAG列表頁也是用的上述方法。

TAG詳情頁調用TAG標簽

       不能直接用{dede:field.title/}調用TAG標簽了,這時調出來的是該TAG的ID,需要用SQL的方法調用,下面的橙色表前綴請自行更換。

{dede:sql sql="select tag from #分隔符@__tagindex where id=~title~"}[field:tag/]{/dede:sql}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新化县| 华宁县| 静海县| 平果县| 儋州市| 泰州市| 玛沁县| 香河县| 唐河县| 宁远县| 山东| 安庆市| 敦化市| 永宁县| 白玉县| 金华市| 吉水县| 城市| 崇信县| 万宁市| 泽普县| 河津市| 永吉县| 温州市| 北海市| 浪卡子县| 苍溪县| 伊宁市| 平果县| 盐城市| 安阳市| 炎陵县| 灌南县| 平定县| 达州市| 聂拉木县| 内丘县| 榆社县| 扶风县| 延津县| 商都县|