自定义函数
函数按照场景分可以分成以下三大类
核心库函数 文件路径在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
。
最终代码如下:
< php namespace 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>
以上的方式就可以将文章标签循环输出。
当然,你也可以做的更复杂一点,比如标签带上搜索,点击可以显示与此标签有关的文章。