DEDECMS添加自定义属性的方法

进入后台——系统——SQL命令行工具——运行SQL命令行:

insert into `dede_arcatt`(sortid,att,attname) values(9,'mn','自定义名称');
alter table `dede_archives` modify `flag` set ('h','c','p','f','s','j','a','b','d') default NULL;

注意:织梦自身有8个自定义属性,所以sortid应该从9开始,不能跟1-8重复;att自定义的调用标记;attname自定义属性的名称;

代码第2行:set ('c','h','p','f','s','j','a','b','mn'),括号中的字母对应已存在的标记符号和您需要添加的标记符号,并按顺序录入,不得改变先后顺序。例如,mn排序第9位,则对应第一行代码中添加的自定义属性“mn”。

 

使用“自定义属性”

后台——模板——默认模板管理——这里找到自己要使用自定义属性的模板

{dede:arclist flag='mn' limit='0,1' titlelen='64'}

<a href='[field:arcurl/]'>[field:title/]</a>

{/dede:arclist} 

 注意:其中flag后写你自己自定义的属性,其他的跟织梦调用标签一样

 

 

 

附:

当用户新增自定义属性代码为多位字符的时候,提交文章后,会出现识别错误。

例如: ID 属性名称 a 首屏 b 推荐 ab 自定义焦点 如果新发布文章时,选择属性为“ab”,文章提交发布成功后,在文章编辑界面,你会发现,属性变成了“a”、“b”、“ab”三个都被选中
检查代码后发现,Dede cms团队在文章编辑页面,做属性轮询时,用了一个正则来匹配:
  1. if(preg_match("#".$trow->att."#",$arcRow['flag'] )) 

 这就是出错原因所在了,知道原因,就好修改了,我们改为:

  1. $flags = explode(',',$arcRow['flag']); 
  2. if(in_array($trow->att,$flags)) 

OK,再测试,没有问题了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值