分享
  • 收藏
  • 举报
    X
    钩子简单制作-tag加连接解说版
    2354
    16

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

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

    application\common\hook  这个是钩子的目录 在这里我们创建一个 Keyword.php 

    <?php
    namespace app\common\hook;
    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[]="<a class=\"button3 white\" href=\"$url\" target=\"_blank\">$value</a>";
    		}
    		//加完连接我们把他转为字符串重新输出
    		$data['keyword']=implode(" ",$array);
    		return;
    	}
    }

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

    小文件实现大功能 


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


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

    6e6d34c024359d13ae992636014dfce3.rar

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

     application\common\hook 


    9
    赏礼
    赏钱
    收藏
    点击回复
        全部留言
    • 16
    • 糖衣 普通粉丝 消费:0元 2018-11-26 13:01 13:016楼

      学习下

    0 赏钱 赏礼回复
    • 羞侠出售葡萄酒 普通粉丝 消费:46.23元 2018-11-23 23:05 23:056楼

      你好!楼主。这个钩子列表页这么实现?

    0 赏钱 赏礼回复
    • aaa999 普通粉丝 消费:1371元 2018-11-04 18:41 18:416楼

      有段时间 没弄x1 忙点别的

      回过头来 学的东西忘得差不多了 


      从头捋一遍

       

    0 赏钱 赏礼回复
    • 玖爱一生 普通粉丝 消费:128.71元 2018-09-08 00:53 00:536楼

      关键词加链接是已经成功了,但是为什么是多个关键词合并为一个链接了呢?

      另外用站长工具查询文章页的关键词的时候,原来是有多个关键词,但工具查询是多个关键词合并为一个关键词了。

    0 赏钱 赏礼回复
    • Suifeng 程序开发者 消费:23.24元 2018-05-21 00:20 00:206楼

      他已经加了连接 当个简单的tag还是可以的 复杂的tag敬请期待

      hxbsj88 消费:4013.66元 2018-06-04 12:02
      随风:复杂的tag敬请期待  能自动内链——这个大伙急需要用~~
    0 赏钱 赏礼回复
    • 新乐智享 普通粉丝 消费:3237.06元 2018-06-04 11:45 11:456楼


      放在文章页下边,关键词不自动添加链接呢  如果要实现这个功能,怎么办?新手

    0 赏钱 赏礼回复
    • fkenuiabcd 风格开发者 消费:55.05元 2018-05-24 16:20 16:206楼

      感谢分享

    0 赏钱 赏礼回复
    • ccxzlp 普通粉丝 消费:0元 2018-05-24 16:08 16:086楼

      文件下载了也安装了,在内容发布后台没看见有相应的东东啊

    0 赏钱 赏礼回复
    • LiXia 普通粉丝 消费:0元 2018-05-21 10:03 10:036楼
      感谢分享,了解点
    0 赏钱 赏礼回复
    • qiqi123 普通粉丝 消费:3元 2018-05-21 09:55 09:556楼

      之前一直不懂什么是钩子,经这么一解说,大概明白得有一大半了,希望陆续的教程出来

      Suifeng 消费:23.24元 2018-05-21 09:59
      \(^o^)/~ 文笔不行 比较大白话 图文结合 希望大家能看懂
    0 赏钱 赏礼回复
    • 阿里巴巴 白金粉丝 消费:3000.22元 2018-05-21 09:19 09:196楼

    0 赏钱 赏礼回复
    • verycong 风格开发者 消费:118.73元 2018-05-21 07:21 07:216楼

      这个是调用了keyword字段的数据并分为搜索连接功能吧。但这个需要用到钩子吗?不是在模板里直接用代码实现吗?用构子是表示可以任意模板都可以实现吗?

      Suifeng 消费:23.24元 2018-05-21 09:09
      仅仅是示例 
    0 赏钱 赏礼回复
    更多回复
    恢复多功能编辑器
  • 3 1
  • 推荐内容
    扫一扫访问手机版
    请选择要切换的马甲:

     
    网页即时交流
    QQ咨询
    咨询热线
    020-28998648