官方文档对于自定义标签给出了两个比较不错的例子,加上
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 官方示例分析
0.话题发布后没及时显示,请联系官方QQ群管理;
1.话题支持代码,qq截屏直接粘贴,和QQ群一样;
2.问题描述清,比如服务器版本,程序版本;
3.能上代码,就不用文字;
4.把问题发到话题后再发QQ群;
5.如果感觉回复者解答的不错,可以发红包!
6.多帮助别人也是对自己的锻炼!
7.付费讨论中只有提问者和付费用户才可以查看回复
1.评论积分+1;每天最多10次奖励
2.发布话题积分+1;每天最多5次奖励
3.垃圾评论积分-500;
4.黄色,暴力,违反我国法律评论直接封号