找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 112|回复: 0

[cms教程] 织梦增加tag属性分类及调用

[复制链接]

该用户从未签到

发表于 2021-2-8 11:03:06 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
DedeCMS的TAG标签不是很灵活,有时候我们的标签需要进行一个分类,能不能像{dede:arclist}标签的自定义属性(如:flag='c,h'),这样全站调用的时候更灵活。
         
               前面写过一篇文章《DedeCMS织梦TAG标签SEO描述功能开发》,再拓展一下就行,有看不懂的步骤那篇文章写得详细些。
         
               全站调用TAG标签方法一般是
         
        {dede:tag row='100' sort='new' getall='1'}
         
         [url=[field:link/,,[field:tag /,[/url]
         
        {/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]标签[/td]
         
               下面增加
         
        [td]属性[/td]
         
             
         
         找到
         
        [td]
         
         [url=,/" target="_blank">{dede:field.tag /}[/url]
         
        [/td]
         
               下面增加
         
        [td]
         
         [i,' id='tagtype' 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的内容:[url=,[field:tag/,[/url]
         
        {/dede:sql}
         
        {dede:sql sql="select * from dede_tagindex where addtagtype='0'"}
         
        属性是0的内容:[url=,[field:tag/,[/url]
         
        {/dede:sql}
         
        里面的URL路径是默认写法,请根据自己的实际情况修改。数据表前缀请自行修改。
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-10-9 11:25

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表