## 自定义标签
自定义函数里做的标签云功能函数我们下面来将这个函数做成标签
首先选择你的标签作用范围
应用级/app/portal/taglib/Portal.php
全局级/simplewind/cmf/lib/taglib/Cmf.php(这个非常不建议修改,后期升级不方便)
这次我们标签做成是应用级的
1、在tags数组中增加你要自定义的标签
> 标签定义: attr 属性列表 close 是否闭合(0 或者1 默认1) alias 标签别名 level 嵌套层次
~~~
'tags' => ['attr' => '', 'close' => 1],
~~~
属性为空,attr保留,但是留空即可。
2、创建标签
~~~
public function tagTags($tag, $content)
{
$item = empty($tag['item']) ? 'vo' : $tag['item'];//循环变量名
$parse = <<<parse
<?php
\$__TAGS_ITEMS__ = \app\portal\service\ApiService::tags();
?>
<volist name="__TAGS_ITEMS__" id="{$item}">
{$content}
</volist>
parse;
return $parse;
}
~~~
3、模板中使用标签
~~~
<ul>
<portal:tags>
<li>{$vo.name}</li>
</portal:tags>
</ul>
~~~
- 序言
- 最新更新
- 准备工作
- 程序安装
- 常见问题
- 验证码失效
- redis报错
- 邮件发送
- 项目部署
- 全局配置
- 虚拟主机配置
- 数据库配置
- 模板管理
- 前端开发
- 模板文件配置
- 模板变量
- 模板变量类型
- 模板变量数据源
- 模板控件
- 导航制作
- 导航标签
- 子导航标签
- 幻灯片制作
- 文章列表
- 非标签方式
- 模板配置文件配置列表
- 面包屑
- 友情链接
- 获取缩略图
- 获取组图
- 获取附件
- 全局变量
- 公共页面制作流程
- 首页制作流程
- 顶部导航
- 首页幻灯片
- 关于
- 服务
- 产品
- 新闻
- 底部导航
- 底部版权
- 返回顶部
- 在线客服
- 单页制作流程
- 单页模板制作
- 栏目页制作流程
- 文章列表栏目页
- 图文列表栏目页
- 图片列表栏目页
- 指定分类栏目页
- 右侧栏目列表
- 详细页制作流程
- 详细页模板制作
- 功能开发
- 开发功能列表
- 原功能修改
- 函数扩展
- 获取当前和子栏目ID
- 功能扩展
- 表单功能
- 固定字段表单
- 表单的提交
- 表单的删除
- 表单HTML模板
- JSON数据表单
- 前台文章发布
- Ueditor的配置
- 后台扩展编辑器
- 会员扩展
- QQ互联实现
- 插件开发
- 后台登录插件
- 创建目录及配置文件
- 创建插件控制器
- 创建插件展现模板
- 留言板插件
- 创建目录及配置文件
- 创建插件控制器
- 创建数据库
- 表单字段过滤
- 前台控制器实现
- 前台页面实现
- 后台控制器实现
- 后台页面实现
- 留言板多语言
- 留言板插件下载
- 多语言独立模板切换插件
- 创建目录及配置文件
- 插件控制器实现
- 多语言切换插件下载
- 产品相册展示插件
- 插件控制器实现
- 前端模板实现
- 产品展示插件下载
- 扩展后的系统升级
- 应用开发
- 自定义函数
- 自定义标签
- 新增应用
- 创建数据库表
- 创建应用目录
- 模型初始化
- 后台菜单入口
- 后台项目分类页实现
- 分类页控制器
- 分类页模板
- 分类的添加
- 验证器规则实现
- 模型中写数据库实现
- 分类的修改
- 分类的删除
- 后台项目首页实现
- 列表页控制器
- 列表页模板
- 项目的添加
- 项目添加验证器
- 模型中写数据库实现
- 标签的添加
- 项目的编辑
- 项目的删除
- 应用模板
- 源码下载
- 其他相关
- CMF5.1采用Redis缓存
- 启用redis
- redis缓存实例