### [织梦DEDECMS扩展标签怎么用](https://www.prosaas.cn/article/1237) **Published:** 2020-01-11T01:17:12 **Author:** 5201314 **Excerpt:** 织梦DEDECMS扩展标签怎么用?织梦DEDECMS扩展标签演示实例推荐学习:织梦cms我们可以看一个示例标签… **![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212115558544.jpg)** **织梦DEDECMS扩展标签怎么用?** 织梦DEDECMS扩展标签演示实例 推荐学习:织梦cms 我们可以看一个示例标签:demotag.lib.php , if(!defined('DEDEINC')) { exit("Request Error!"); } function lib\_demotag(&$ctag,&$refObj) { global $dsql,$envs; $attlist="row|12,titlelen|24"; FillAttsDefault($ctag->CAttribute->Items,$attlist); extract($ctag->CAttribute->Items, EXTR\_SKIP); $revalue = ''; //------------------------------------------------------ $revalue = 'Hello Word!'; //------------------------------------------------------ return $revalue; } ?> 我们会发现标签起作用了,输出了我们的内容。 ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212115558623.png) $revalue = 'Hello Word!'; $revalue .=" Row:".$row.";TitleLen:".$titlelen; ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212115558163.png) 这样我们可以看到,这个属性已经被创建变量并且赋值了。 接下来我们可以再进一步去修改这个标签。 function lib\_writerarc(&$ctag,&$refObj) 接下来我们就可以编写查询语句及对底层模板处理的相关函数了 $revalue = ''; $innertext = $ctag->GetInnerText(); $ctp = new DedeTagParse(); $ctp->SetNameSpace('field', '\[', '\]'); $sql = "SELECT \* FROM dede\_archives WHERE writer='{$refObj->Fields\['writer'\]}' limit 0, $row"; $dsql->Execute('me',$sql); while($rs = $dsql->GetArray('me')) { $rs\['title'\] = cn\_substr($rs\['title'\], $titlelen); $ctp->LoadSource($innertext); foreach($ctp->CTags as $tagid=>$ctag) { if(!emptyempty($rs\[strtolower($ctag->GetName())\])) { $ctp->Assign($tagid,$rs\[$ctag->GetName()\]); } } $revalue .= $ctp->GetResult(); } 最后返回这个值return $revalue; 整个文件内容如下: if(!defined('DEDEINC')) { exit("Request Error!"); } function lib\_writerarc(&$ctag,&$refObj) { global $dsql,$envs; $attlist="row|12,titlelen|24"; FillAttsDefault($ctag->CAttribute->Items,$attlist); extract($ctag->CAttribute->Items, EXTR\_SKIP); $revalue = ''; $innertext = $ctag->GetInnerText(); $ctp = new DedeTagParse(); $ctp->SetNameSpace('field', '\[', '\]'); $sql = "SELECT \* FROM dede\_archives WHERE writer='{$refObj->Fields\['writer'\]}' limit 0, $row"; $dsql->Execute('me',$sql); while($rs = $dsql->GetArray('me')) { $rs\['title'\] = cn\_substr($rs\['title'\], $titlelen); $ctp->LoadSource($innertext); foreach($ctp->CTags as $tagid=>$ctag) { if(!emptyempty($rs\[strtolower($ctag->GetName())\])) { $ctp->Assign($tagid,$rs\[$ctag->GetName()\]); } } $revalue .= $ctp->GetResult(); } return $revalue; } ?> 通过动态浏览页面进行查看调试?aid=3 {dede:writerarc row='10' titlelen='6'} \[field:title/\] {/dede:writerarc} ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212115558216.png) 以上就是织梦DEDECMS扩展标签怎么用的详细内容,更多请关注知企PROSAAS其它相关文章! **Tags:** cms, DEDECMS, php **Categories:** DEDECMS ---