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