您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

DEDECMS 二次开起源代码 , 请帮忙

2024/3/27 12:39:04发布9次查看
dedecms 二次开发源代码 , 请帮忙
dede 官方论坛不允许新注册用户发帖 ...
这样的 , 这么一串 html 代码
{dede:arclist flag='h' limit='0,1' infolen='230'}
[field:title/]
    [field:info/]...[查看全文]
{/dede:arclist}
这么一段代码 , 对应 taglib/arclist.lib.php 
中我看到解 
    [field:title/]
    [field:info/]...[查看全文]
这么一段代码 , 也就是 arclist 标签的 innertext 的解法是这样的 .
arclist.lib.php line 472-474
$dtp2 = new dedetagparse();
$dtp2->setnamespace('field', '[', ']');
$dtp2->loadstring($innertext);
这个 dedetagparse() 这个我可以理解 , 它首先根据 setnamespace 设置好 tagstartword 和 endword , 而后根据这些东西使用 for 循环整个字符串 , 其中使用 strpos 对比匹配出标签 , 并将标签全部存于类数组 ctags 中 .
随后调用 makeonetag 方法让那些 taglib 下面存在文件的方法获取 tagvalue .
而后再使用 getresult 方法将值按照解析式 strpos 的位置插入 html 中随后返回完整字符串 .
这个过程好理解 , 但不好理解的事 
$dtp2->setnamespace('field', '[', ']');
makeonetag 中 taglib 下没有 filed.lib.php , 并且 , assignsystag 中也没有 field 的解析 .
而且 , 这里不会走到 makeonetag , 我想问的是 , 它是怎么解析到值的 ? 非常非常感谢 !!!!
------解决方案--------------------
$dtp2->setnamespace('field', '[', ']');
field 字段
[ 开弧
] 闭弧
用数据表字段内容去替代模板中用[]括起的模板变量
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product