dede织梦_高级功能function扩展-dede_@me.doc_第1页
dede织梦_高级功能function扩展-dede_@me.doc_第2页
dede织梦_高级功能function扩展-dede_@me.doc_第3页
dede织梦_高级功能function扩展-dede_@me.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

为了使用模板标记不破坏文档的可读性,dedecms不像别的模板,有时会使用直接往模板插入PHP或类似PHP的代码,以达到真正的模板与程序分离的特点。但为了让程序有更大的扩展性,dedecms允许对标记使用 function 进行扩展,function所使用的函数可以是系统函数,也可以是自定义的函数,只是用在两个方面:1、模板标记:如:dede:field name=pubdate function=GetDateTimeMk(me)/这个标记实际返回的结果是执行了GetDateTimeMk函数后的结果一般情况下,模板标记的自定义扩展函数放在:include/inc_functions.php或include/inc_functions.phpinclude/inc_channel_unit_functions.php2、采集配置字段:如:dede:note field=title value=var:内容 function=test(me)dede:matchvar:内容/dede:match/dede:note这个采集节点返回的结果是执行了函数test后返回的结果一般情况下,采集扩展的自定义扩展函数放在:include/pub_collection_functions.php在上面例子中 me 表示这个标记本身的原始值,如果为int或浮点型,可以不加引号,字符串则必须加引号灵活使用扩展函数,可以做出很多随意的功能,但又不用改动系统的源码,对于采集扩展,更加是可以更灵活处理采集到的原始内容。织梦标记允许有限的编程扩展。当前系统时间dede:tagname runphp=yesme = date(Y);/dede:tagname格式为:dede:tagname runphp=yes$aaa = me;me = 123456;/dede:tagname me 表示这个标记本身的值,因此标记内编程是不能使用echo之类的语句的,只能把所有返回值传递给me。此外由于程序代码占用了底层模板InnerText的内容,因此需编程的标记只能使用默认的InnerText。过滤掉HTML代码dede:arclist sort=hot titlelen=40 row=8field:title/dede:arclistdede:field name=description function=html2text(me)/dede:list imgwidth=* imgheight=*修改 includeinc_channel_unit_functions.php里面的 可以改变缩略图尺寸5.1以前缩略图地址是120U10ML014147_lit.gif5.1变成了lit_120U10ML014147.gif把field:picname function=str_replace(_lit,me)/换成field:picname function=str_replace(lit_,me)/function=str_replace(主页,Html2Text(me) 在产品列表中,有个值经过函数处理,通常一个变量的情况下是这样的:field:typeid function=get_linkshangpin(me,3)/field:pubdate function=strftime(%m-%d,me)/field:litpic function=CkLitImageView(me,80)/修改 includeinc_channel_unit_functions.php里面的 function=cn_substr(me,2). 取的是这个字段左边的截取.想从右边开始截取,用什么函数呢.我在用DEDE调用supersite blog 里面的博客之星图片.它的图片地址是UID号对应的目录.比如UID是176 可能对就的会员图片是/76/photo_176.gif可如果我用function=cn_substr(me,2). 截取的UID变成了17.如何才能截右边呢.变成76 , function=substr(me,-2)利用DEDE的runphp功能为评论加入验证码(可选开关) 首先在include/config_base.php中加入以下代码:Copy code /评论是否启用验证码(0否1是)如果更改了这里,必须重新生成文章HTML$feedback_validate = 1;然后在/templets/default/article_article.htm,/templets/plus/feedback_templet.htm等有评论表单的地方的相应位置加入以下代码:dede:php runphp=yesif($feedback_validate) me = 验证码: ;/dede:php在/plus/feedback.php中找到如下代码:else if($action=send)在下面加入:session_start();if( empty($_SESSIONs_validate) ) $svali = ;else $svali = $_SESSIONs_validate;if($feedback_validate & strtolower($vdcode)!=$svali & $svali!=)ShowMsg(验证码错误!,-1);exit();这样就可以实现评论验证码的功能了,并且可选开关。另外,评论还可以加入时间限制,IP限制等dede:field name=keywords runphp=yes if(!empty(me)$kws = explode( ,me);me = ;foreach($kws as $k)me .= a class=tags HREF=javascript:void(null) onclick=var ajax=new AJAXRequest;document.getElementById(relatedlinks).inn

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论