[Dの食卓]自定义标签详解


官方文档对于自定义标签给出了两个比较不错的例子,加上
app\portal\taglib\Portal.php里面的例子,还是可以掌握的,

缺点是:没有给出大体文字说明,让初学者有些困惑,为啥不多说解释一下如何运用呢,人艰不拆啊

现在给出详细的文字说明,如何自定义一个标签。

1 首先,自定义标签

class Demo extends TagLib{     protected $tags   =  [            'cat'     => ['attr' => 'skin,roar'], 
        ];
}

这个不用多解释,在tags数组中定义一个tag,名字叫cat,定义了两个输入属性,skin,roar。

用法为:

{demo:cat skin='black' roar='mew'}
    <li>{$vo.name}</li>{/demo:cat}

2 对于volist的理解

<volist name="数据源" id="单个数据名">
	里面的内容
</volist>

volist的name里面是数据源,id里面是单个数据名,这个是亘古不变的。

3 创建标签函数的写法为:

 public function tagCat($tag, $content)
    {
    	$tag['skin'];//black
        $tag['roar'];//mew
        $content;//为<li>{$vo.name}</li>
    }

这里的参数也是亘古不变滴,永远是$tag和$content。
$tag里面为原先定义好的attr参数,最终数值是由入口{demo:cat skin='black' roar='mew'}带过来的。
$content就是夹在demo:cat标签中间的所有内容。

4 官方示例分析



评论

暂时关闭,稍后恢复~
文档请看10遍以上!有问题可加QQ群!
发表话题

源素材推荐

提问必知

0.话题发布后没及时显示,请联系官方QQ群管理;
1.话题支持代码,qq截屏直接粘贴,和QQ群一样;
2.问题描述清,比如服务器版本,程序版本;
3.能上代码,就不用文字;
4.把问题发到话题后再发QQ群;
5.如果感觉回复者解答的不错,可以发红包!
6.多帮助别人也是对自己的锻炼!
7.付费讨论中只有提问者和付费用户才可以查看回复

积分规则

1.评论积分+1;每天最多10次奖励
2.发布话题积分+1;每天最多5次奖励
3.垃圾评论积分-500;
4.黄色,暴力,违反我国法律评论直接封号


ThinkCMF 8.0.0发布啦!祝大家节日快乐! 立即体验!