[织梦教程] 有关dede静态模板类dede:foreach的使用

[复制链接]
查看1950 | 回复10 | 2019-5-23 02:11:02 | 显示全部楼层 |阅读模式

刚刚接触织梦,就从基础看起,希望大家不要见笑,多多鼓励啊 呵呵
在测试的时候发现静态模板类里面的
{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
/](换行的)

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

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

从0基础开始学习织梦dedecms建站,分享全套的织梦dedecms网站搭建教程、织梦安装使用教程。 汇聚了最全、最新的织梦cms建站教程。包含dedecms建站、仿站教程;dedecms系统使用常见问题;主题插件推荐下载等!欢迎学习!
回复

使用道具 举报

浩渺小竹排浩az | 2020-11-19 02:57:05 | 显示全部楼层
找了好多地方,终于找到了
回复

使用道具 举报

一叶知秋117 | 2021-6-5 03:26:05 | 显示全部楼层
很不错的资源站
回复

使用道具 举报

123457660 | 2021-8-17 16:20:57 | 显示全部楼层
我是来白嫖资源的!
回复

使用道具 举报

愿为素心人 | 2021-12-7 07:42:07 | 显示全部楼层
站长真良心,这么大的资源站都是免费下载
回复

使用道具 举报

一揽众山小卑 | 2022-5-27 09:26:51 | 显示全部楼层
谢谢楼主发布的资源下载,帮助我不少
回复

使用道具 举报

掘金入眠刈 | 2022-6-1 09:50:31 | 显示全部楼层
悟空源码太厉害,资源真多!
回复

使用道具 举报

教风三应博 | 2023-5-26 10:02:26 | 显示全部楼层
加油!悟空源码,继续努力!支持你!
回复

使用道具 举报

木子李皓 | 2023-9-21 05:17:31 | 显示全部楼层
我是来白嫖悟空源码的资源的!
回复

使用道具 举报

静静的等258 | 2023-10-7 18:13:42 | 显示全部楼层
我是来白嫖悟空源码的积分的!!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则