您好!欢迎登陆845建站营销推广平台!

dede静态模板类dede:foreach如何正确使用

dede静态模板类dede:foreach如何正确使用

阅读  2022-08-25 编辑:845.net.cn​

刚刚接触织梦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 /](换行的) 这样就解决问题了,我测试是可以的。 ============================= 希望对需要的人可以解决问题!

转载:非常欢迎各位朋友分享到个人站长或者朋友圈,但转载请说明文章出处“黎青松SEO博客”。

原文地址:http://www.alitaohuo.com/CMSjiaocheng/zhimengjiaocheng/1868.html

你看到此篇文章的感受是:

已经有 人表态:

本站资讯·版权声明

本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。

本网站所提供的信息,只供参考之用。本网站不保证信息的准确性、有效性、及时性和完整性。本网站及其雇员一概毋须以任何方式就任何信息传递或传送的失误、不准确或错误,对用户或任何其他人士负任何直接或间接责任。在法律允许的范围内,本网站在此声明,不承担用户或任何人士就使用或未能使用本网站所提供的信息或任何链接所引致的任何直接、间接、附带、从属、特殊、惩罚性或惩戒性的损害赔偿。

文章网址: https://www.845.net.cn/news/2307.html

网站
建设

网站
建设

网络
推广

网络
推广

在线
客服

在线客服服务时间:9:00-18:00

选择下列产品马上在线沟通:

客服
热线

13715268808
7*24小时客户服务热线

微信
咨询

加微信咨询聊天

返回
顶部