最新公告
  • 欢迎您光临模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • DedeCms高级功能function扩展-dede @me

    DedeCms高级功能function扩展-dede @me 最后编辑:2020-11-22
    增值服务: 自动发货 使用说明 安装指导 环境配置二次开发BUG修复

    为了使用模板标记不破坏文档的可读性,dedecms不像别的模板,有时会使用直接往模板插入PHP或类似PHP的代码,以达到真正的模板与程序分离的特点。

     

    但为了让程序有更大的扩展性,dedecms允许对标记使用 function 进行扩展,function所使用的函数可以是系统函数,也可以是自定义的函数,只是用在两个方面:1、模板标记:

     

    如:{dede:field name='pubdate' function=GetDateTimeMk('@me')/}

     

    这个标记实际返回的结果是执行了GetDateTimeMk函数后的结果

     

    一般情况下,模板标记的自定义扩展函数放在:

    include/inc_functions.php

    include/inc_functions.php

    include/inc_channel_unit_functions.php

     

    2、采集配置字段:

     

    如:{dede:note field='title' value='[var:内容]' function=test('@me')}

                    {dede:match}<title>[var:内容]</title>{/dede:match}

               {/dede:note}

     

    这个采集节点返回的结果是执行了函数test后返回的结果

     

    一般情况下,采集扩展的自定义扩展函数放在:

    include/pub_collection_functions.php

     

    在上面例子中 @me 表示这个标记本身的原始值,如果为int或浮点型,可以不加引号,字符串则必须加引号

    格式为:

    {dede:tagname runphp='yes'}

    $aaa = @me;

    @me = "123456";

    {/dede:tagname} 

    @me 表示这个标记本身的值,因此标记内编程是不能使用echo之类的语句的,只能把所有返回值传递给@me。

    此外由于程序代码占用了底层模板InnerText的内容,因此需编程的标记只能使用默认的InnerText。

     

    过滤掉HTML代码

     

    {dede:field name='description' function='html2text(@me)'/}

     

    {dede:list imgwidth='*' imgheight='*'}

     

    <img src='{dede:field name='litpic' /}' width="*" height="*">修改 includeinc_channel_unit_functions.php

    里面的 <img src='".$imgsrc."' width=80 align=left>

     

    可以改变缩略图尺寸

     

    5.1以前缩略图地址是

    120U10ML014147_lit.gif

    5.1变成了lit_120U10ML014147.gif

    把[field:picname function='str_replace("_lit","",@me)'/]

    换成[field:picname function='str_replace("lit_","",@me)'/]'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

    里面的 <img src='".$imgsrc."' width=80 align=left>'cn_substr("@me",2). 取的是这个字段左边的截取.

     

    想从右边开始截取,用什么函数呢..

     

    我在用DEDE调用supersite blog 里面的博客之星图片.

     

    它的图片地址是UID号对应的目录.

     

    比如UID是176 可能对就的会员图片是/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='yes'}

    if($feedback_validate) {

    @me = "<tr>

          <td>验证码:</td>

          <td><input name=\"validate\" type=\"text\" id=\"validate\"> <img src=\"/include/validateimg.php\" alt=\"看不清楚可点击这里更换!\" border=\"0\" align=\"absmiddle\" onclick=\"this.src=this.src;\"></td>

                         </tr>";

    }

    {/dede:php}在/plus/feedback.php中找到如下代码:else if($action=="send")

    {

     

    在下面加入:

     

    session_start();

    if( empty($_SESSION["s_validate"]) ) $svali = "";

    else $svali = $_SESSION["s_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)'>$k</a> ";

                         }

                        //@me= str_replace('+', ' ',trim(@me));

              }

    {/dede:field}

    猜你在找

    模板网提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
    模板网 » DedeCms高级功能function扩展-dede @me

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板网
    一个高级程序员模板开发平台
    • 2020-11-22Hi,初次和大家见面了,请多关照!

    发表评论

    售后服务:

    • 售后服务范围 1、商业模板使用范围内问题免费咨询
      2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
      3、单价超过200元的模板免费一次安装,需提供服务器信息。
      付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
      2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
      3、服务器环境配置(一般 ¥50-300)
      4、网站中毒处理(需额外付费,500元/次/质保三个月)
      售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
      免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 891512448@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!

    Hi, 如果你对这款模板有疑问,可以跟我联系哦!

    联系作者
    • 14会员总数(位)
    • 8229资源总数(个)
    • 6115本周发布(个)
    • 14 今日发布(个)
    • 239稳定运行(天)

    模板网MUBANNET.COM国内最专业模板分享平台

    开通vip 了解详情
    升级SVIP尊享更多特权立即升级