DedeCMS織夢增加TAG屬性分類及調(diào)用[織夢網(wǎng)站模板使用教程]

閱讀 ?·? 發(fā)布日期 2019-05-27 07:47 ?·? admin

DedeCMS織夢增加TAG屬性分類及調(diào)用[織夢網(wǎng)站模板使用教程]DedeCMS的TAG標(biāo)簽不是很靈活,有時候我們的標(biāo)簽需要進(jìn)行一個分類,能不能像{dede:arclist}標(biāo)簽的自定義屬性(如:flag='c,h'),這樣全站調(diào)用的時候更靈活。

       前面寫過一篇文章《DedeCMS織夢增加TAG標(biāo)簽描述》,再拓展一下就行,有看不懂的步驟那篇文章寫得詳細(xì)些。

       全站調(diào)用TAG標(biāo)簽方法一般是

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

       默認(rèn)的只有以下參數(shù)

row:調(diào)用條數(shù)
sort:排序方式 month,rand,week
getall:獲取類型 0 為當(dāng)前內(nèi)容頁TAG標(biāo)記,1為獲取全部TAG標(biāo)記

數(shù)據(jù)庫部分

       用Navicat數(shù)據(jù)庫管理工具打開dede_tagindex數(shù)據(jù)表(默認(rèn)的表前綴),依次點擊文件 -> 設(shè)計表。新增

字段:addtagtype
類型:int
長度:10

也可以用sql命令

alter table `dede_tagindex` add `addtagtype` int(10) NOT NULL default '';

后臺部分

         打開后臺/dede/tags_main.php,大概在27行找到

$dlist->SetParameter("tag", $tag);

        下面增加

$dlist->SetParameter("addtagtype", $addtagtype); //by www.vi586.com

        大概在49行找到(下面紅色的分隔符請去除)

$query = "UPDATE `#分隔符@__tagindex` SET `count`='$count' WHERE id='$tid' ";

        修改為

$query = "UPDATE `#分隔符@__tagindex` SET `count`='$count',`addtagtype`='$addtagtype' WHERE id='$tid' ";

       大概在147行找到

$query = " INSERT INTO `#分隔符@__tagindex`(`tag`,`count`,`total`,`weekcc`,`monthcc`,`weekup`,`monthup`,`addtime`) VALUES('$keyword','0','1','0','0','$timestamp','$timestamp','$timestamp');";

        修改為

$query = " INSERT INTO `#分隔符@__tagindex`(`tag`,`addtagtype`,`count`,`total`,`weekcc`,`monthcc`,`weekup`,`monthup`,`addtime`) VALUES('$keyword','$tagms','0','1','0','0','$timestamp','$timestamp','$timestamp');";

        打開/dede/templets/tags_main.htm,找到更新JS

function UpdateOne(tid)
{
location = "tags_main.php?action=update&count="+document.getElementById('count'+tid).value+"&tid="+tid;

        增加tagtype參數(shù),代碼修改為

function UpdateOne(tid)
{
location = "tags_main.php?action=update&count="+document.getElementById('count'+tid).value+"&addtagtype="+document.getElementById('tagtype'+tid).value+"&tid="+tid;

        找到

<td width="10%">標(biāo)簽</td>

       下面增加

<td width="10%">屬性</td>

       找到

<td>
 <a href="../tags.php?/<?php echo urlencode($fields['tag']); ?>/" target="_blank">{dede:field.tag /}</a>
</td>

       下面增加

<td>
 <input type='text' value='<?php echo $fields['addtagtype']; ?>' id='tagtype<?php echo $fields['id']; ?>' size='5'/>
</td>

 

       這里的TAG屬性可以根據(jù)自己的需要填寫任意數(shù)字,比如屬性是0、1。如果你覺得不直觀,那就換成a,b,c之類的,只需要修改dede_tagindex數(shù)據(jù)表addtagtype數(shù)據(jù)類型為varchar,長度為255即可,方法就不詳述了,下面是調(diào)用方法。

前端模板調(diào)用

{dede:sql sql="select * from dede_tagindex where addtagtype='1'"}
屬性是1的內(nèi)容:<a href="/tags?php/[field:tag/]/">[field:tag/]</a>
{/dede:sql}

{dede:sql sql="select * from dede_tagindex where addtagtype='0'"}
屬性是0的內(nèi)容:<a href="/tags?php/[field:tag/]/">[field:tag/]</a>
{/dede:sql}

       里面的URL路徑是默認(rèn)寫法,請根據(jù)自己的實際情況修改。數(shù)據(jù)表前綴請自行修改。