🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 标签库 标签库可以应用到插件前台使用,也可作为扩展前台HkCms标签库。 语法可参考 https://www.kancloud.cn/manual/think-template/1286424 也可参考前台标签库,位置:app/index/taglib/HkCms.php ## 手动导入 <blockquote class="danger"><p>注意:2.1.220220版本及之前版本只支持手动导入。</p></blockquote> ~~~ /** * 插件初始化时导入标签 */ public function addonsInitHook() { // 加载标签 $view = $this->app->config->get('view'); $view['taglib_pre_load'] = $view['taglib_pre_load'].',addons\tags\library\HkCms'; $this->app->config->set($view,'view'); } ~~~ 如果不预先加载标签,那么在模板就需要使用`导入标签`导入 [导入标签](%E5%AF%BC%E5%85%A5%E6%A0%87%E7%AD%BE.md) ## 自动导入标签库 在插件根目录创建`taglib\HkCms.php`文件,如下demo插件演示,创建后网站前台即可调用标签库,**注意只生效于前台**。 ![](https://img.kancloud.cn/54/9d/549daa82943e16750e24293d4bf393ed_264x167.png) HkCms.php 内容 ~~~ <?php declare (strict_types=1); namespace addons\demo\taglib; use think\template\TagLib; class HkCms extends TagLib { /** * 定义标签列表 */ protected $tags = [ 'demo' => ['attr'=>'title', 'close'=>0], // 标签列表 ]; // tag+demo,首字母大写,$tag为定义的属性 public function tagDemo($tag) { return "demo:".$tag['title']; } } ~~~ 创建完后,在前台模板写上如下代码即可调用,可能需要清理缓存,建议开发插件时打开调试模式。 ~~~ {hkcms:demo title="标题" /} ~~~