attr_class
的字段,用于存储属性分类。,,2. 修改标签库文件(include/arc.tagcache.class.php),在GetTag
方法中添加对新字段的处理。,,``php,$dsql>SetField("attr_class", $tag['attr_class']);,
`,,3. 修改模板文件中的tag列表模板(如:/templets/default/tag_article_list.htm),在循环输出tag时,调用新的字段。,,
`html,[field:tag /],
``,,4. 保存修改后的模板文件,并在后台更新缓存。,,完成以上步骤后,织梦CMS中的tag将具备属性分类功能,并在前端页面中按照属性分类进行展示。在DedeCMS(织梦CMS)中,TAG标签的默认功能相对有限,无法像{dede:arclist}标签那样通过自定义属性进行灵活调用,我们可以通过增加属性分类来提高其灵活性,以便全站调用时更加方便。
数据库部分的操作
1、新增字段:使用Navicat数据库管理工具打开dede_tagindex
数据表,依次点击“文件” > “设计表”,新增字段addtagtype
,类型为int
,长度为10,也可以使用SQL命令执行以下操作:
```sql
ALTER TABLEdede_tagindex
ADDaddtagtype
INT(10) NOT NULL DEFAULT '';
```
后台部分的修改
1、设置参数:打开后台/dede/tags_main.php
文件,大概在第27行找到$dlist>SetParameter("tag", $tag);
,下面增加一行$dlist>SetParameter("addtagtype", $addtagtype);
。
2、更新查询语句:大概在第49行找到$query = "UPDATE '#分隔符@__tagindex' SET 'count'='$count' WHERE id='$tid' ";
,修改为$query = "UPDATE '#分隔符@__tagindex' SET 'count'='$count', 'addtagtype'='$addtagtype' WHERE id='$tid' ";
。
3、插入记录:大概在第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');";
。
4、更新JS代码:打开/dede/templets/tags_main.htm
文件,找到更新JS函数function UpdateOne(tid)
,将其中的location = "tags_main.php?action=update&count="+document.getElementById('count'+tid).value+"&tid="+tid;
修改为location = "tags_main.php?action=update&count="+document.getElementById('count'+tid).value+"&addtagtype="+document.getElementById('tagtype'+tid).value+"&tid="+tid;
。
5、添加输入框:在<td width="10%">标签</td>
下面增加<td width="10%">属性</td>
,并在适当位置添加<input type='text' value=' echo $fields['addtagtype']; ' id='tagtype echo $fields['id']; ' size='5'/>
。
前端模板调用
在前端模板中,可以使用{dede:sql}标签来调用具有特定属性的内容。
{dede:sql sql="SELECT * FROM dede_tagindex WHERE addtagtype='1'"} 属性是1的内容:[field:tag/] {/dede:sql} {dede:sql sql="SELECT * FROM dede_tagindex WHERE addtagtype='0'"} 属性是0的内容:[field:tag/] {/dede:sql}
FAQs
1、如何在DedeCMS中为TAG标签增加属性分类?
在数据库中为dede_tagindex
表增加一个名为addtagtype
的字段,类型为int
,长度为10,然后在后台的tags_main.php
文件中设置该字段的参数,并更新相关的SQL查询语句,在模板文件中添加相应的输入框和调用代码即可。
2、如何调用具有特定属性的TAG标签内容?
在前端模板中,使用{dede:sql}标签编写SQL查询语句,根据addtagtype
字段的值来筛选出具有特定属性的TAG标签内容,要调用属性为1的内容,可以使用{dede:sql sql="SELECT * FROM dede_tagindex WHERE addtagtype='1'"}
;要调用属性为0的内容,可以使用{dede:sql sql="SELECT * FROM dede_tagindex WHERE addtagtype='0'"}
。
Dedecms织梦Tag增加属性分类及调用详解
1. 前言
Dedecms(织梦)是一款流行的内容管理系统,它使用Tag标签进行内容调用,本文将详细介绍如何在Dedecms中增加属性分类以及如何调用这些分类。
2. 增加属性分类
要在Dedecms中增加属性分类,通常需要以下步骤:
2.1 准备工作
确保你有足够的权限对Dedecms进行编辑。
准备好要添加的分类名称和描述。
2.2 编辑属性模型
1、登录到Dedecms后台。
2、进入“模型管理”模块。
3、选择需要添加属性的模型。
4、点击“模型字段管理”,进入字段管理界面。
5、点击“添加字段”,选择“自定义字段”。
2.3 添加字段
1、输入字段名称,分类”。
2、选择字段类型,单行文本”或“下拉菜单”。
3、如果选择下拉菜单,可以添加多个选项,每个选项代表一个分类。
4、设置字段的其他属性,如“是否必须”、“排序”等。
5、点击“保存”按钮。
2.4 保存模型
保存修改后的模型。
3. 调用属性分类
在Dedecms中调用属性分类通常使用Tag标签,以下是一些常用的Tag标签及其用法:
3.1 常用Tag标签
{dede:arctype}
:调用所有分类。
{dede:arctype id='1'}
:调用ID为1的分类。
{dede:arctype row='10'}
:调用前10个分类。
3.2 调用指定分类
使用{dede:arctype field='categoryname' value='分类名称'}
可以调用指定名称的分类。
使用{dede:arctype field='categoryid' value='分类ID'}
可以调用指定ID的分类。
3.3 分类列表
{dede:channelartlist categoryid='0'}
:调用顶级分类下的文章列表。
{dede:channelartlist categoryid='1'}
:调用ID为1的分类下的文章列表。
4. 归纳
通过以上步骤,你可以在Dedecms中增加属性分类,并使用相应的Tag标签进行调用,这有助于更好地管理和展示你的网站内容。