dede静态模板类dede:foreach如何正确使用
短视频,自媒体,达人种草一站服务 刚刚接触织梦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([rntf ]+)/]/is”,$k,$this->CTags[$i]->InnerText); $str .= preg_replace(“/[field:value([rntf ]+)/]/is”,$v,$istr); 问题就在正则表达式上,主要是这部分([rntf ]+) 说明在 [field:key 与 /] 之间可以包含换行、制表符、空格,但是不能什么都没有, 也就是说 [field:key/]是不对的 必须是 [field:key /](空格的) 或 [field:key /](制表符的) 或 [field:key /](换行的) 这样就解决问题了,我测试是可以的。 ============================= 希望对需要的人可以解决问题! (编辑:源码门户网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 钟南山谈新冠病毒药物:效果还在观察 中药也在做临床实验
- 美国男子被指控机器拨打数以千计骚扰电话 面临1300万美元罚
- Redis 6 RC1 发布:SSL、ACL、RESP3、客户端缓存与集群代理
- M1自研芯片一年可为苹果节约25亿美元
- 印度创投市场走向成熟:电商潜力巨大,中国投资者改变格局
- 三星劲敌:售价399美元的Escobar Fold 2折叠屏智能机又来了
- 新营销,是为了把营销变的更加简单高效
- Google Play商店为预注册的游戏和应用提供自动安装功能
- SpaceX Crew Dragon飞船和Falcon 9火箭运行的是Linux系统
- 暴降千元后:iPhone 11成苹果最畅销机型 但果粉换新速度严重