官方文档对于自定义标签给出了两个比较不错的例子,加上
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 官方示例分析
![](https://box.kancloud.cn/0b02244301ac133559585b94342a2e5a_774x741.png)
- php套路
- 套路之类结构
- thinkphp分块解析之Collection
- thinkphp基础之collection
- Collection在thinkphp中的运用
- thinkcmf模块分析
- Controller按界面点击顺序排列表
- user模块-Controller分析
- portal模块-Controller分析
- admin模块-Controller分析
- user模块-脑图
- portal模块-脑图
- admin模块-脑图
- cmf公共函数解析-common.php
- thinkcmf点滴记录
- 自定义标签详解
- 插件
- 系统信息插件
- 插件演示插件
- 留言板插件
- 留言板1 建立胚胎
- 留言板1-1 数据库变化
- 留言板1-2 自定义钩子
- 留言板2 连接数据库
- 留言板3 读取后台界面数据
- 留言板4 前端模板
- 留言板5 分离cssjs文件
- 留言板6 验证
- 留言板7 图形验证码
- 留言板8 后台留言列表页
- 留言板9 后记
- 评论插件
- 1 分析数据表
- 2 CommentModel.php
- 3 UserModel.php
- 4 DCommentPlugin.php
- 前端调用代码
- 喜欢插件
- 1 分析
- 2 收藏功能
- 3 插件建模
- 4 数据库设计
- 5 插入一条数据
- 多语言
- thinkphp多语言
- thinkcmf多语言