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

作者 : 叶 落风前 本文共847个字,预计阅读时间需要3分钟 发布时间: 2020-05-30 共52人阅读

刚刚接触织梦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([\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

/](换行的)

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

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

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

完整源码网ym0.cc,专业提供制网站源码,网站模板,源码下载,商业源码,游戏源码,找源码就到完整源码网 免责声明:本站所提供的资源来自于网络,版权争议与本站无关,版权归原创者所有! 仅限用于学习和研究目的,不得将上述内容资源用于商业或者非法用途. 否则,一切后果请用户自负。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源。如果上述内容资对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以删除。 本站不保证所提供下载的资源的准确性、安全性和完整性,源码仅供下载学习之用! 如用于商业或者非法用途,与本站无关,一切后果请用户自负! 本站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。 如有侵权、不妥之处,请联系站长以便删除。 敬请谅解!侵权/投稿邮箱:157529987@qq.com!
完整源码网-ym0.cc » 有关dede静态模板类dede:foreach的使用_

常见问题FAQ

开通VIP的好处?
VIP会员根据等级在相应的有效期内享有本站所有资源免费下载资源的权力,免费查看隐藏内容的权力,免费查看视频的权力,同时本站商品还会获得打折价格,并且拥有其他特殊的权力。
完整源码支持最新版本吗?
完整源码网支持永久更新!

发表评论