ThinkCMF的标签云功能


自定义函数

函数按照场景分可以分成以下三大类

核心库函数 文件路径在simplewind/cmf/下,这部分函数考虑后期核心升级不建议做修改。

自定义全局应用库函数,可以自行创建如/app/common.php

自定义应用级库函数,文件路径在/app/应用名/service/下,针对当前应用的一些自定义函数创建在这边。

先写一个获得所有文章标签的tags()函数:

public static function tags(){$portalTagModel new PortalTagModel();$tags $portalTagModel->alias('tag')->select();return $tags;}

所以我们来单独创建一个文件,将ApiService.php复制粘贴,重命名为PortalService.php

最终代码如下:

< phpnamespace app\portal\service; use app\portal\model\PortalPostModel;use app\portal\model\PortalCategoryModel;use app\portal\model\PortalTagModel;use think\Db; class PortalService{ /*** 返回指定所有标签*/public static function tags(){$portalTagModel new PortalTagModel();$tags $portalTagModel->alias('tag')->select();return $tags;} }

编辑、引入config.html文件:

文件位置:.\ThinkCMFX\themes\simpleboot3\public\config.html

<php>use app\portal\service\PortalService;</php>

模板中需要引入config.html文件,当然你也可以在head位置引用

<include file="public@config"/>

前端模板用法:

<!-- 标签云 --><php>$tags=PortalService::tags();</php><div class="tags"><div class="head-title"><h3>标签云</h3></div><volist name="tags" id="vo" length="15" ><a class="tag-link">{$vo.name}</a></volist></div>

以上的方式就可以将文章标签循环输出。


当你凝视深渊的时候,深渊也在凝视你。