织梦号织梦号

何其有幸,我们相遇。

织梦二次开发自定义标签的方法

十年经验的全栈程序员!各种CMS快速仿站200起!模板修改!网站二次开发 !小程序定制开发!戳我

如果我们想用一个自定义的织梦标签调用内容(例如:{dede:dedecms name='hello'/})显然这个标签不是织梦默认的,如果我们想要用它来调用数据,用以下方法可以实现。

新建一个php文件,命名为dedecms.lib.php,把php文件放到/include/taglib/文件夹下

<?php
if (!defined('DEDEINC')) exit("Request Error!");
function lib_dedecms(&$ctag, &$refObj)
{
    global $dsql, $envs;
    //属性处理
    $attlist = "name|";
    FillAttsDefault($ctag->CAttribute->Items, $attlist);
    extract($ctag->CAttribute->Items, EXTR_SKIP);
    $revalue = $name();
    return $revalue;
}
function hello()
{
    $html = "你好";
    return $html;
}
?>

在模板中可以用{dede:dedecms name='hello'/}来调用,输出内容为“你好”

解释:

{dede:dedecms name='hello'/}中的dedecms是php文件名dedecms.lib.php的前半部分,name='hello'中的hello和第13行的function hello()对应。

注意,php第三行的function lib_dedecms(&$ctag, &$refObj)中的dedecms要和标签一致才可以哦。