欢迎来到润旭源码网
帮助中心

润旭源码网

热门搜索: 企业源码    免费源码   

有关dede静态模板类dede:foreach的使用

  • 时间:2020-07-20 11:42 编辑: 来源: 阅读:176
  • 扫一扫,手机访问
摘要:刚刚接触织梦dedecms,就从基础看起,希望大家不要见笑,多多鼓励啊 呵呵。在测试的时候发现静态模板类里面的 。{dede:foreach array=”数组名”} [field:key/] [field:value/] {/dede:foreach}这本标签总不能正常使用,执行后总是返回 [field:key/] [field:value/] [field:key/] [field:value/] ….n个“[field:key/]

刚刚接触织梦dedecms,就从基础看起,希望大家不要见笑,多多鼓励啊 呵呵。

在测试的时候发现静态模板类里面的 。

{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([ f ]+)/]/is”,$k,$this->CTags[$i]->InnerText);

$str .= preg_replace(“/[field:value([ f ]+)/]/is”,$v,$istr);

问题就在正则表达式上,主要是这部分([ f ]+)

说明在 [field:key 与 /] 之间可以包含换行、制表符、空格,但是不能什么都没有,

也就是说 [field:key/]是不对的

必须是

[field:key /](空格的)

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

[field:key

/](换行的)

这样就解决问题了,我测试是可以的。

=============================

希望对需要的人可以解决问题!


  • 全部评论(0)
资讯详情页最新发布上方横幅
联系我们

QQ:888477 {点击直接联系}

邮箱:runxu123@qq.com

时间:周1——周6 【9:00-23:00

联系客服
购买源码 源码咨询 投诉建议 联系客服
0373-6621888
手机版

扫一扫进手机版
返回顶部