扩展的标签都是存放在/include/taglib这个目录,名称都是以“标签名.lib.php”格式,例如{dede:channel/}标签对应的是channel.lib.php文件。
这里我们新建一个文件,命名为test.lib.php,模板使用标签时只需要写{dede:test/}即可,这里需要注意一下test.lib.php里面的函数命名必须是lib_test().自行引申,所以test.lib.php文件里面的基本格式应该是这样的:
<?php
function lib_test(){
return "Hello,world";
}
?>
这样模板调用{dede:test/}输出的即为”Hello World”.
接下我们再来解决传参的问题.当我们需要传参时,模板里面就这样写{dede:test key=”1”/}
这里只是举个key等于1的例子.
<?php
function lib_test(&$ctag){
extract($ctag->CAttribute->Items, EXTR_SKIP);
return $key;
}
?>
{dede:test key=”1”/}这时输出的就是1.
&$ctag
不要修改,复制extract($ctag->CAttribute->Items, EXTR_SKIP);
即可调用参数,假如有多个参数{dede:test key=”1” value=”2”/}就这样往后面加就可以了.这里需要注意一下的是,假如你需要在函数内引用一个类库,那么你的php版本必须要大于5.4,否者会出错.