• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    DedeCMS织梦增加TAG属性分类及调用
    POST TIME:2021-05-23 01:46

     DedeCMS的TAG标签不是很灵活,有时候我们的标签需要进行一个分类,能不能像{dede:arclist}标签的自定义属性(如:flag='c,h'),这样全站调用的时候更灵活。

     前面写过一篇文章《DedeCMS织梦增加TAG标签描述》,再拓展一下就行,有看不懂的步骤那篇文章写得详细些。

    全站调用TAG标签方法一般是

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

     默认的只有以下参数

    row:调用条数
    sort:排序方式 month,rand,week
    getall:获取类型 0 为当前内容页TAG标记,1为获取全部TAG标记

    数据库部分

     用Navicat数据库管理工具打开dede_tagindex数据表(默认的表前缀),依次点击文件 -> 设计表。新增

    字段: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.dede58.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参数,代码修改为

    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%">标签</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属性可以根据自己的需要填写任意数字,比如属性是0、1。如果你觉得不直观,那就换成a,b,c之类的,只需要修改dede_tagindex数据表addtagtype数据类型为varchar,长度为255即可,方法就不详述了,下面是调用方法。

    前端模板调用

    {dede:sql sql="select * from dede_tagindex where addtagtype='1'"}
    属性是1的内容:<a href="/tags?php/[field:tag/]/">[field:tag/]</a>
    {/dede:sql}
    
    {dede:sql sql="select * from dede_tagindex where addtagtype='0'"}
    属性是0的内容:<a href="/tags?php/[field:tag/]/">[field:tag/]</a>
    {/dede:sql}

           里面的URL路径是默认写法,请根据自己的实际情况修改。数据表前缀请自行修改。

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!