您当前的位置: 主页 > 优化教程
在织梦里面对于数组进行循环的标签有好几个,在前台模板即使用静态模板引擎有,{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也是循环的一个一维数组,这里这个标签等价于<?php echo value['mtypeid'] ?>。
 
  总起来讲标签{dede:array.mtypearr}{dede:value.mtypeid/}{/dede:array.mtypearr} 就相当于如下php循环。
 
  foreach($mtypearr as $value){
 
      foreach($value as $k=>$v){
 
            echo $v;
   }
 
}
 
  在织梦二次开发中,经常用到的标签还有:
{dede:global.name/}   外部变量      等同于 <?php echo $name; ?>:这个短标记在文件function CompilerOneTag(&$cTag)里面第862行,经过编译后的结果是'<'.'?php echo '.$cTag->tagValue.'; ?'.'>'
 
{dede:var.name/}      var数组       等同于 <?php echo $_vars['name']; ?> 编译后的值是'<'.'?php echo '.$cTag->tagValue.'; ?'.'>';
 
{dede:field.name/}    field数组     等同于 <?php echo $fields['name']; ?> 编译后的值是'<'.'?php echo '.$cTag->tagValue.'; ?'.'>';
 
{dede:cfg.name/}      系统配置变量  等同于 <?php echo $cfg_name; ?>  编译后的值是'<'.'?php echo '.$cTag->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不是一个东西。最根本的原因就是会员中心的是用的动态模板引擎,而前台模板用的是静态模板引擎,所以,用法当然,就不一样了,功能更不一样,在二次开发中这个不是常用,但是在这里作一下记号。
 
  如果经常做织梦二次开发的朋友,这些标签是不可跳过的,经常使用,当然,我们可以自己去修改模板引擎,来自己定义自己的标签。
 

关键词:织梦,二次开发,中,几个,标签,的,应用,在,织梦,    标签:
    更多资讯请收藏关注 网站模板(www.1yc.cn)

DEDECMS在PHP5.4不能正常运行的解决方法本文实例讲述了DEDECMS在PHP5.4不能正常运行的解决方法。分享... 2021-07-30
修改dede5.7 ask源码标签 使之实现---&amp;gt;调用相应级别的问答修改dede5.7 ask源码标签 使之实现---调用相应级别[一级,... 2021-07-30
DedeCms织梦后台添加编辑文章空白解决办法原因分析: 根据dedecms官方文档说明,出现这种问题是可能是由于c... 2021-07-27
Dedecms(织梦)程序MySQL修复表和文章路径修改方法做网站是我们经常会遇到被一些小问题困扰的。其实有些问题非常的简单,通过... 2021-08-14
织梦cms复制页面内容,自动在后面加上网址dedecms织梦COPY页面内容,自动在后面加上网站信息,利于SEO... 2021-07-27
织梦中不同的栏目,调用不同的banner图首页、联系我们、公司介绍,等调用默认banner~~~这就不说了。 它... 2021-07-30
Dedecms文章内容分页{dede:pagebreak/}显示页数设置方法内容里分页很多,分页的地方显示很多,很不美观,做板子的时候遇到这个问题... 2021-07-27
织梦的搜索页面支持dede标签的方法织梦的搜索页面支持dede标签的方法一 打开文件:include/ar... 2021-07-30
Dedecms 教程:删除系统自定义变量这次再之前添加了个联系电话的系统变量,选错了变量类型,结果电话里面要是... 2021-08-14
织梦登陆会员后台直接转跳到首页怎么办我们在打会员目录的/member/index_do.php 行码 38... 2021-07-27
织梦导航部分去掉最后一个循环多出来的部分我们都知道dedecms中,当我们对导航循环的时候往往最后一项是多余的... 2021-07-22
dedecms实现调用所有顶级栏目下最新文章的方法本文实例讲述了dedecms实现调用所有顶级栏目下最新文章的方法。分享... 2021-07-27
织梦如何让最新发布的的图显示排列最前面呢织梦程序有些地方限制的比较死板,例如图片模型就是如此。细心的站长朋友们... 2021-08-14
DedeCMS快速批量删除所有未审核文档 评论的方法网站只要是开放会员系统,开放投稿功能,难免会遇到许多恶意注册的会员大量... 2021-07-22
DEDE织梦当前系统时间标签带时分:[field:pubdate function=GetDate... 2021-07-22
dedecmsDedeCMS会员空间内的文章列表无法分页的解决办法DedeCMS 5.7会员空间的文章列表分页显示不正常,总是显示0页0... 2021-08-09
织梦CMS不能上传jpg格式的图片怎么办如何解决织梦CMS不能上传jpg格式的图片怎么办如何解决 到根目录下找到Inc... 2021-07-27
织梦dedeCMS系统loop标签调用文档地址arcurl的方法DEDECMS帮助手册提供的loop万能循环标签,不支持[field:... 2021-07-27

线
咨询热线:
135-0038-3336
在线客服:
点击这里给我发消息
微信交流:
公司官网: www.1yc.cn