多语言展示
当前在线:615今日阅读:113今日分享:31

dedecms怎么样添加红色高亮自定属性功能

dedecms是一个非常强大的内容管理系统,虽然自带的功能已经非常多了,但是有时候我们还是需要增加一些新的功能。下面我给大家分享dedecms自定义属性功能的拓展教程。前些天发现自己网站的内容推荐功能不够用,于是就对dedecms的源码分析了一下,同时百度了一下资料肯定了自己想法是对的,发现其实这个自定义属性的扩展很简单的,大家可以任意去修改。默认的自定义属性如下图下面开始制作一个新的自定义属性功能: 第一步:在织梦后台左栏点击“系统”; 第二步:选择“系统”菜单下的“SQL命令行工具”;找到dede_arcatt数据表,后台的推荐功能都是储存在这个表中。执行一下代码:insert into `dede_arcatt`(sortid,att,attname) values(9,'r','高亮');这个时候你会发现后台编辑界面已经有了高亮这个自定义属性了,但是你会发现给文章添加了属性,在文章列表中却没有显示这个高亮的属性标识。不用急,下面还有些东西没有做呢,因为这些自定义属性的数据库dede_archives, 和 flag 属性只有 c,h... 没有我们的的r ,只要在数据库中加上我们想要要的字母即可显示了 ,下面是代码:alter table `dede_archives` modify `flag` set ('c','h','p','f','s','j','a','b','r') default NULL; 第三步:点击“确定执行sql;解析:代码第1行:values(9,'y','高亮') 是根据我们需要自行定义的,其中9是sortid的值,是不可重复的,也就是每添加一个自定义属性,sortid的值就应该递增到 10,11,12...,以此类推! r是alt的值,是自定义属性的标记,与已存在的标记符号不能重复,“高亮”是中文名称,是方便人们直观地勒戒自定义属性的含义的,可以根据需要改为“网络”、“新闻头条”等。代码第2行:set ('c','h','p','f','s','j','a','b','r'),括号中的字母对应已存在的标记符号和您需要添加的标记符号,并按顺序录入,不得改变先后顺序。例如,r排序第9位,则对应第一行代码中添加的自定义属性” r ” “ 高亮 ”。现在这个样子你是可以在文章管理列表中看到这个属性了但是这样不能在前端有任何反应,自定义属性一般利用方式:为某个列表集合同一种属性的文章。例如:我想在首页做一个关于“加粗”属性的列表,我只需要这样写:{dede:arclist flag='b'}[field:title/]{/dede:arclist}这样就可以无选择地调用了标题被添加“加粗”属性的文章了这是一种简单的用法,我们下面通过条件的判断实现更加好的功能,例如,我自定义一个“高亮”属性,我想让这个高亮属性的文章标题在列表展示的时候表现为“红色”或者是其他是效果,那我该怎么做呢?其实也挺简单的,只要修改一些文件就可以了,第一个文件:/include/taglib/arclist.lib.php在这个文件中找到if(ereg('b',$row['flag'])) $row['title'] = ''.$row['title'].'';这行代码的对比规矩,如果title属性中存在b 则将''.$row['title'].''赋给Tietle。由上面实例,我们可以写出高亮的属性效果,直接把下面代码写到上面的代码下面就可以了代码:if(ereg('r',$row['flag'])) $row['title'] = ''.$row['title'].'';注意:如果你只是修改这里而已,那么你只能在首页有效果,但是内页是没有效果的。如果想有效果,下面再修改一个文件即可:另一个文件是/include/arc.taglist.class.php在文件中找到if(ereg('c',$row['flag'])) { $row['title'] = ''.$row['title'].''; }那么我们再构造一个高亮的既可以了if(ereg('r',$row['flag'])) { $row['title'] = ''.$row['title'].'';}这样的话,首页和内页都可以正常显示高亮效果了
推荐信息