栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP > php开源框架 > 齐博CMS

钩子简单制作-tag加连接解说版(随风编写) - 齐博CMS之X1

齐博CMS 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

钩子简单制作-tag加连接解说版(随风编写) - 齐博CMS之X1

钩子是贯穿X1的血管 他连通了X1全部脉络 插件和钩子组合就可以做出模块一样的东东了 一般我们做插件就把钩子一起做到一起了 但是有时候功能很小 插件有需要写很多文件怎么办 没事 钩子来帮忙 他是单文件 仅仅一个文件就可以实现你想要的小功能

下面我说个场景 我后台加了一个keyword 字段 作为内容关键字 关键字1,关键字2,关键词3 这样存储的 我想把他放到内容页底部当TAG用可以吗 答案是可以的 一个文件就足够 下面跟着我一步一步来实现这个小功能

applicationcommonhook 这个是钩子的目录 在这里我们创建一个 Keyword.php


namespace appcommonhook;
class Keyword{ //钩子类名也就是文件名
public $info=[
//归属接口,必填 此钩子可以查看后台获得
'hook_key'=>'cms_content_show',
//归属插件,可为空
'plugin_key'=>'',
//开发者
'author'=>'suifeng',
//开发者网站
'author_url'=>'http://www.qibo168.com',
//功能描述
'about'=>'TAG搜索 手工创建一个keyword字段 以,或者空格 分割词 需安装搜索模块 内容页面 {$info.keyword} 调用'
];
public function run(&$data){
// 这个钩子是内容页面内容字段还没显示之前的调用 $data 返给我们全部的数据了
// 我们已经在模型中创建了 keyword 字段 是以,号或者空格风格分割这个字段的内容
$detail = strpos($data['keyword'], ',') !== false ? explode(',', $data['keyword']) : explode(' ', $data['keyword']);
//分割后给他加上搜索的连接
foreach($detail AS $key=>$value){
$url=url('search/index/lists',['keyword'=>$value]);
$array[]="$value";
}
//加完连接我们把他转为字符串重新输出
$data['keyword']=implode(" ",$array);
return;
}
}


模板中我们就可以用 {$info.keyword} 默认模板不需要加会自动加载 你会发现他已经有连接了

小文件实现大功能


备注:如果是自己手工写的文件需要自己手工挂载一下 步骤如下:

![](https://box.kancloud.cn/b393ca4fed030d70946e59e32e39b1ab_819x629.png)

![](https://box.kancloud.cn/361a39584bf4cfe988075dc9af269dc2_458x264.png)

![](https://box.kancloud.cn/d2e6362ec10aaba4f2fb403d68abad40_636x580.png)


提交就可以了 钩子市场安装的会自动挂载

本文附件下载地址如下

[https://x1.php168.com/bbs/show-503.html](https://x1.php168.com/bbs/show-503.html)

不想自己码字的 可以下载附件 解压后放到

applicationcommonhook ,
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/214382.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号