找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 152|回复: 0

[cms教程] 织梦二次开发中几个标签的应用

[复制链接]

该用户从未签到

发表于 2021-1-28 15:07:14 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在织梦里面对于数组进行循环的标签有好几个,在前台模板即使用静态模板引擎有,{dede:foreach array='数组名称'}[field:key/, [field:value/,{/dede:foreach}用来输出一个数组,当然,还有像万能循环标签等。而在动态模板引擎里面关于数组遍历的就更多了,而且比前台要灵活的多,今天向大家介绍的,在二次开发中常用的标签{dede:array.name}。
         
          这个标签{dede:array.name}{dede:key/} = {dede:value/}{/dede:array.name}从表面上看,与前台的标签,一个最大的区别就是在标签之间可以用大括号{},而在前台模板只除了几个可以这样用外,绝大多数都要用中括号[,,这是与前台模板里面最大的区别了。
         
          这个array标记在这个标签里面,意思是循环一个数组,而这个数组往往是二维数组,关于这个标记的编译,在文件dedetemplate.class.php的function CompilerOneTag(&$cTag)里面,这样进没有多大效果,我们还是看一个实例吧。
         
          进入会员中心——>系统设置——>空间管理——>分类管理,这里面的功能就是添加分类用的,它对应的数据库表是dede_mtypes,在我们添加分类后,在“我的分类管理”下面就用到了这个标记array。我们打开文件mytypes.htm,大约在63行,找到{dede:array.mtypearr}{/dede:array.mtypearr},其中里面的mtypearr是一个数组变量名,这个变量可以在文件mtypes.php,大约在第25行
         
         while($row = $dsql->GetArray())
            {
                $mtypearr[, = $row;
            }
         
          通过把数据库表dede_mtypes里的记录循环出来,然后,放到二组数组$mtypearr里面,然后,在模板里就可以用{dede:array.mtypearr}{/dede:array.mtypearr}标签调用了。在这个标签中间又有{dede:value.mtypeid/}等的调用,这个标签里面的标签vlaue也是循环的一个一维数组,这里这个标签等价于。
         
          总起来讲标签{dede:array.mtypearr}{dede:value.mtypeid/}{/dede:array.mtypearr} 就相当于如下php循环。
         
          foreach($mtypearr as $value){
         
              foreach($value as $k=>$v){
         
                    echo $v;
           }
         
        }
         
          在织梦二次开发中,经常用到的标签还有:
        {dede:global.name/}   外部变量      等同于 :这个短标记在文件function CompilerOneTag(&$cTag)里面第862行,经过编译后的结果是'tagValue.'; ?'.'>'
         
        {dede:var.name/}      var数组       等同于  编译后的值是'tagValue.'; ?'.'>';
         
        {dede:field.name/}    field数组     等同于  编译后的值是'tagValue.'; ?'.'>';
         
        {dede:cfg.name/}      系统配置变量  等同于   编译后的值是'tagValue.'; ?'.'>';
         
          不有标记:config,name,object,key,value,echo,array,php]if,include,label,datalist,pagelist等。
         
          还有一个在织梦会员中心踩踩模板里面的,{dede:list bind='GetSortArc' order='click' orderway='desc'}{/dede:list},这个我们在前台模板里面,一般用在列表页调用数据,而在会员中心,跟列表页重名的list在这里用法类似,但是增加了一个属性bind,这个属性值是:“数据源来源函数”,请注意,这个list跟前台模板中的list不是一个东西。最根本的原因就是会员中心的是用的动态模板引擎,而前台模板用的是静态模板引擎,所以,用法当然,就不一样了,功能更不一样,在二次开发中这个不是常用,但是在这里作一下记号。
         
          如果经常做织梦二次开发的朋友,这些标签是不可跳过的,经常使用,当然,我们可以自己去修改模板引擎,来自己定义自己的标签。
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-11-25 01:38

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表