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

softyun3年前cms教程124

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

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

相关文章

dedeCMS5.5 列表页调用tag的方法

打开DEDECMS根目录include/common.func.php在最底部 ?> 前面加入以下代码: function listtag($aid)   {       $tsql = new...

dedecms在plus目录调用当前模板head.htm,footer.htm方法

在织梦dedecms的plus文件夹里面有许多常用的模板的头部和尾部都是单独的写的,最简单的方法就是把默认模板的head.htm和footer.htm复制过来就行了,只是每次修改后又要再复制一次,为了...

dedecms按栏目调用tag标签

给大家分享一下dedecms按栏目调用tag标签,希望可以帮助到你近用织梦dedecms仿站,有一个需求是按栏目调出TAG,这个问题思索了很久,最终在网上找到代码,得到解决。Markup {dede:...

织梦文章列表分页如何解决,以及分页标签详细解释

分享一下织梦文章列表分页该如何解决和分页标签的详细解释,希望对你有所帮助织梦dedecms改版到5.3-5.5 分页标签   {dede:pagelist listitem="info,index,e...

织梦DEDECMS{dede:freelist/}列表调用增加排序方式

织梦DEDECMS{dede:freelist/}列表调用增加排序方式当你用到自由列表的时候,会发现排序方式不全。比如我所需要用到 随机排序”rank“和按得分排序”scores“这里就没有。当然这两...

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

自定义宏标记【Mytag 标记】的作用:  可以将模板中多次出现的相同元素用一个自定义标记表示出来,从而达到,一次更改,全局更换的效果。辅助插件的广告管理也有相似的效果。    【Mytag 标记】的...