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

softyun3年前cms教程199

有关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 自定义宏标记

自定义宏标记用于多个页面中需要调用相同的内容便于同时更改多个页面的同一处内容如:页头调用、页尾调用、导航调用等包括现在很多朋友提到的dede现在加统计代码要分别在首页、列表页、内容页分别来加我们用自定...

织梦dedecms在php5.4下后台发布文章提示“标题不能为空”

有时我们在登录后台发布文章时,会提示“标题不能为空”,一直发不了文章,下面就给出解决的办法:问题症状:V5.7登录后台后,发布英文标题没问题,发布中文会提示“标题不能为空”。问题根源:htmlspec...

时区和更新列表无法生成最后一页的解决方法

关于UTF8版本安装后后台显示空白的用户请重新下载最新版本进行安装时区不正常 从其他版本升级到5.1的朋友可能会遇到时区不正常的问题 通常是文档的发布时间多8个小时或者少8个小时 解决方法是修改con...

点击作者姓名可以进入作者空间,支持V5.01

就是在文章页面的作者上面加入一个链接,让这个链接能够指向作者的空间. 不用修改任何源代码,只修改底层模板,具体演示请看:http://51e100:8080/html/707/index 详细方法:...

arclist标签中调用附加表字段

将需要调用的字段,换成如下格式放在arclist标签内即可.代码如下:[field:id runphp="yes"]$dsql = new DedeSql(false);$a="SELECT mb5u...

DedeCMS V5.3 模板标签参考手册

DedeCMS V5.3 模板标签参考手册,手册方便用户制作模板、学习系统所编写,之前在织梦的帮助中心有相关的标签内容,这里我将其整理并且重新进行了一些编辑,为了方便大家使用,讲内容大包为CHM格式,...