分页: 1 / 1

钩子没有生效

发表于 : 2024年 3月 17日 16:45
whitenight
在制作一款插件时遇到一些问题
需要监听分类操作时 新建\编辑\删除\合并 这四个动作

查阅了文档与代码发现有Widget_Metas_Category_Edit 这个方法
https://docs.typecho.org/plugins/hooks
/var/Widget/Metas/Category/Edit.php

然后我在activate()中注册了
Typecho_Plugin::factory('Widget_Metas_Category_Edit')->insert = array('x_Plugin', 'handleInsert');
Typecho_Plugin::factory('Widget_Metas_Category_Edit')->update = array('x_Plugin', 'handleUpdate');
Typecho_Plugin::factory('Widget_Metas_Category_Edit')->delete = array('x_Plugin', 'handleDelete');

但是经过几天测试发现Widget_Metas_Category_Edit并不能生效
我只有把方法写到activate()里在激活插件时会生效一次,没有达到监听自动执行的效果
或者是由其他方法 希望给与指点

Re: 钩子没有生效

发表于 : 2024年 10月 8日 18:57
memory
兄弟解决了吗?我也遇到了相同的问题。。

我想在 分类和标签的form中插入对应的内容,也是不能够触发...

Re: 钩子没有生效

发表于 : 2024年 11月 3日 00:11
Lopwon
文件 /var/Widget/Metas/Category/Edit.php 内没有对应的句柄,可以手动新增(详见 Plugin.php 内注释),修改完毕后,启用插件:

代码: 全选

1. 后台》管理》分类,如下操作则在文件夹 LopwonCate/log 内创建对应文件;
2. 新增分类,生成 insert.json
3. 编辑分类,生成 update.json
4. 删除分类,生成 delete.json
5. 合并分类,生成 merge.json 
也就是说,可以触发和执行需要的功能。