站长之家 - 站长资讯 - 易采站长站

当前位置: > 建站教程 > 源码教程 > CMS 教程 >

有关dede静态模板类dede:foreach的使用-DedeCms教程

2019-09-18 19:51 | 来源:易采站长站 | 编辑:admin |

刚刚接触织梦,就从基础看起,希望大家不要见笑,多多鼓励啊 呵呵
在测试的时候发现静态模板类里面的
{dede:foreach array=”数组名”} [field:key/] [field:value/] {/dede:foreach}这本标签总不能正常使用,执行后总是返回 [field:key/] [field:value/] [field:key/] [field:value/] ….n个“[field:key/] [field:value/] ”而不是正在的数据,在网上搜了搜,结果大部分都是转载织梦系统的原装帮助文档里面的资料,没有说明此问题,这里有人也遇到了一样的问题,本来想回复他来,可是我是新人,他所在的版块我无权回复,就发一个新帖了,呵呵,扯远了,书归正传!
为什么会有这样的效果呢,数组名设置后是可以遍历的,而且遍历的次数也是对了,就是数据不能正常显示
肯定是哪里解析错误了,
顺着思路往下找,
最后在include/dedetag.class.php文件中的第578行和579行(版本不一样可能不同,在该文件的AssignSysTag()方法体里面)找到了答案!
$istr .= preg_replace(“/\[field:key([\r\n\t\f ]+)\/\]/is”,$k,$this->CTags[$i]->InnerText);
$str .= preg_replace(“/\[field:value([\r\n\t\f ]+)\/\]/is”,$v,$istr);
问题就在正则表达式上,主要是这部分([\r\n\t\f ]+)
说明在 [field:key 与 /] 之间可以包含换行、制表符、空格,但是不能什么都没有
也就是说 [field:key/]是不对的
必须是
[field:key /](空格的)

[field:key /](制表符的)

[field:key
/](换行的)
这样就解决问题了,我测试是可以的。
=============================
希望对需要的人可以解决问题!

软件名称:
DedeCms (织梦CMS)内容管理系统下载
软件语言:
简体/繁体中文
软件授权:
个人免费

  • dede5.7验证码错误不显示的解决方法-DedeCms教程
  • DEDE5.7热门标签代码调用详解-DedeCms教程
  • dede查询列表中单独显示查到了多少条记录-DedeCms教程
  • dede给dede_sys_enum添加字段father示例-DedeCms教程
  • dede文章页面如何显示作者的头像默认只能显示作者用户名-DedeCms教程
  • dede调用其他栏目的文章或者缩略图列表且有分页效果的方法-DedeCms教程
  • dede会员列表调用适用于企业、个人-DedeCms教程
  • DEDE调用分类及分类下文章并限制标题字数及显示条数-DedeCms教程
  • DEDE缓存文件(data/cache/inc_catalog_base.inc)写入权限-DedeCms教程
  • DEDE列表页及文章页调用TAG标签并加入自己的样式-DedeCms教程
  • 网友评论

    关于我们 - 联系我们 - 广告服务 - 版权声明 - 人才招聘 - 友情链接 - 网站地图 - 帮助 - -

    CopyRight © 2010-2016 源码下载 easck.com , All Rights Reserved

    蒙公网安备 15052402000103号

    蒙ICP备14002389-1号