dedecms扩展标签和dede自定义标签实现方法
-
资源ID:79248067
资源大小:18KB
全文页数:2页
- 资源格式: DOC
下载积分:8积分
快捷下载
会员登录下载
微信登录下载
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
dedecms扩展标签和dede自定义标签实现方法
我们需要知道下扩展标签的存放目录及文件名构成,首先,扩展的标签都是存放在/include/taglib这个目录,名称都是以"标签名ib.php”格式,例如dede:channel/标签对应的是文件。我们可以看一个示例标签:代码如下:if(!defined('dedeinc')exit(requesterror!);functionlib_demotag(&$ctag,&$refobj)global$dsql,$envs;/属性处理$attlist=row|12,titlelen|24;fillattsdefault($ctag->cattribute->items,$attlist);extract($ctag->cattribute->items,extr_skip);$revalue=”;你需编写的代码,不能用echo之类语法,把最终返回值传给$revalue/$revalue='helloword!'/return$revalue;?>我们登录系统后台的濮板-全局标签测试中运行dede:demotag/,显示如下的结果:,我们会发现标签起作用了,输出了我们的内容。至此我们完成了标签的编写,这里面主要涉及到php、mysql的很多知识,需要有一定相关方面的基础才能够编写标签了,当然这里只是一个简单的标签开发例子,还有许多的东西可以去开发。这里我们知道,其实标签生成的内容其实是这个函数的一个返回值,这里返回的内容都是字符串,也就是函数return$revalue冲的$revalue需要是经过处理后生成的字符串。$attlist=row|12,titlelen|24;这个是属性列表,这个经过函数处理后会直接生成变量并复制,我们可以测试下,做如下的修改:代码如下:$revalue='helloword!'$revalue.=row:.$row.;titlelen:.$titlelen;这样我们可以看到,这个属性已经被创建变量并且赋值了。接下来我们可以再进一步去修改这个标签。比如说我们需要写一个标签专门来查询文章内容页的那个相关文章,功能类似于上面sql标签中的那个sql,只是这里我们将其分装为一个标签。我们可以新建一个标签,例如叫writerarc,那我们就需要创建一个,然后模仿demotag编写函数,注意需要修改为functionlib_writerarc(&$ctag,&$refobj)接下来我们就可以编写查询语句及对底层模板处理的相关函数了代码如下:$revalue=”;$innertext=$ctag->getinnertext();$ctp=newdedetagparse();$ctp->setnamespace('field','','');$sql=select*fromdede_archiveswherewriter='$refobj->fields'write门'limit0,$row;$innertext这个是用来获取标签的底层模板的,$ctp创建用于处理底层模板中的变量,并处理进行替换。我们根据获取的属性编写我们的sql语句,这里我们使用limit0,$row,这样就可以根据$row来确定查询的内容数目。