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

softyun3年前cms教程198

有关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([\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
/] 换行的
这样就解决问题了,我测试是可以的。
=============================
希望对需要的人可以解决问题!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

DedeCms教程:邮件订阅模块使用说明

1.邮件订阅模块使用说明 站长可以通过邮件订阅模块进行单人,多人以及邮件群发。可以创建期刊通过发送邮件的方式供用户阅读。让用户通过邮件实时的获取到网站重要的,有价值的信息。由此让用户关注网站的动态,对...

织梦dedecms生成下拉式友情链接列表

在用dedecms制作网站的时候有不少站点需要用到下拉式友情链接,这样能够节省的空间。但很多朋友又不知道怎样修改才能实现这个功能;修改方法:编辑打开\include\taglib\flink.lib....

成功解决DEDECMS 5.3图片大小自适应问题

今天给大家分享一下如何成功解决织梦DEDECMS 5.3图片大小自适应问题,希望对你有所帮助在图片模板加入以下JS代码<script language="javascript"> func...

[经验]dede全站RSS订阅静态输出的办法

给大家分享一下实现DedeCMS Rss全站静态输出的方法,大家可以去尝试一下。一、在CMS根目录下,新增rss.php文件,文件代码如下:PHP代码      <?php     requir...

DEDECMS V5.3 官方默认模板 预设列表样式说明

DEDECMS V5.3在(layout.css)中预设了6种区块列表样式 您可以根据自己的实际需要修改使用 下面以首页区块调用位置为例 我们来详细介绍这六种列表样式的结构和class 首页模板的&l...

【Autochannel 标记使用实例】-DedeCMS模板制作使用实例教程(5)

{dede:autochannel partsort='1'/}{dede:channel typeid='1'} [field:typename/] {/dede:channel}{dede:aut...