首页/技术分享/Emlog 钩子清单 — 插件开发参考

Emlog 钩子清单 — 插件开发参考

时间:08-30技术分享8 次阅读

本文整理自 Emlog 核心及默认主题中的全部 doAction() 调用点,按功能模块分类,并附中文注释,供插件与二次开发参考。
除特别标注为 JavaScript 钩子 的条目外,其余均为 PHP 端 通过 doAction() 触发。


一、后台管理模块钩子

公共 / 布局

钩子说明
adm_head【公共】后台头部输出,可用于引入自定义的 CSS/JS 文件
adm_menu【公共】后台左侧菜单显示,用于添加后台管理菜单项
adm_footer【公共】后台底部输出

仪表盘(首页)

钩子说明
adm_main_top【首页】后台仪表盘(首页)顶部区域
adm_main_content【首页】后台仪表盘主要内容区域

内容管理

钩子说明
adm_link_display【链接】后台链接管理页面显示时触发
adm_sort_add【分类】后台添加/编辑分类页面
adm_comment_display【评论】后台评论管理列表显示时
adm_navi_display【导航】后台导航设置页面显示时

撰写文章 / 页面

钩子说明
adm_writelog_bar【撰写】后台撰写文章/页面的工具栏区域
adm_writelog_head【撰写】后台撰写文章/页面的头部区域
adm_writelog_side【撰写】后台撰写文章时的侧边栏
adm_write_page_side【撰写】后台撰写独立页面时的侧边栏

用户与认证

钩子说明
blogger_ext【用户】后台博主(管理员)个人资料编辑页扩展
user_menu【用户】后台用户中心菜单
user_main_content【用户】后台用户中心主页内容区
login_head【认证】后台登录页面头部
login_ext【认证】登录框下方扩展(如第三方登录按钮)
signup_ext【认证】注册框下方扩展

二、前台模板模块钩子

公共 / 布局

钩子说明
index_head【公共】前台网页头部,用于输出 meta 或引入 CSS/JS
index_footer【公共】前台网页底部
index_navi_ext【导航】前台导航栏扩展,可添加自定义导航项
index_loglist_top【列表】前台文章列表页顶部
diff_side【侧边】侧边栏钩子(不同模板可输出不同内容)

文章 / 页面

钩子说明
log_related【文章】文章详情页和页面详情页的相关文章/扩展区域

三、核心业务逻辑与控制器钩子

文章 / 页面 / 分类

钩子说明
save_log保存文章/日志时触发(含后台和 API)
del_log删除文章时触发
before_del_log删除文章触发
approved_log文章审核通过时
rejected_log文章被驳回/拒绝时
save_page保存独立页面时
save_sort保存分类时

评论

钩子说明
pub_comment发布评论时(含后台和模型层)
comment_post评论提交控制器(处理评论逻辑时)
comment_reply回复评论时
comment_saved评论成功保存到数据库后

微语 / 动态

钩子说明
post_note发布微语(碎语)时

用户 / 认证

钩子说明
login_succeed登录成功时,传递用户 ID 等信息
login_fail登录失败时
register_succeed注册成功时
delete_user删除用户时
send_email_code发送邮箱验证码时

互动 / 投票 / 收藏

钩子说明
like_post点赞文章
dislike_post踩文章
collect_post收藏文章
like_saved点赞成功保存后
dislike_saved踩成功保存后
collect_saved收藏成功保存后
unlike_saved取消点赞后
undislike_saved取消踩后
uncollect_saved取消收藏后

媒体 / 附件

钩子说明
attach_upload附件上传时
del_media删除媒体文件时
download_resource下载资源/附件时

其它

钩子说明
log_direct_link访问文章直接链接时
search_log_list执行搜索,显示搜索结果列表时
sort_log_list浏览分类,显示分类文章列表时
rss_displayRSS 订阅输出显示时
page_not_found触发 404 页面未找到时
before_output_view视图内容输出到浏览器之前
tpl_options_get获取模板设置选项时

四、JavaScript 前端钩子

以下钩子通过前端 doAction() 调用,用于挂载 JS 逻辑:

钩子触发时机
page_loaded后台撰写页面 JS 加载完成时
loaded后台撰写文章 JS 加载完成时
twitter_loaded微语管理页面 JS 加载完成时

使用说明

  1. 语言区分:除第四部分标注为 JS 钩子的条目外,其余均为 PHP 端通过 doAction() 调用。
  2. 挂载方式:这些钩子均可通过 addAction() 方法挂载自定义函数来实现功能扩展。
  3. 参数说明:参数请结合具体调用处判断——doAction() 的第二个参数起,即为传递给回调函数的参数。例如:
    doAction('save_log', $blogid, $isPub, $logData);
    // 对应回调可接收: function ($blogid, $isPub, $logData) { ... }
  4. 命名规律:钩子名多以模块前缀区分,如 adm_(后台)、index_(前台)、adm_writelog_(撰写)、comment_ / like_(业务逻辑),便于快速定位。

提示:开发插件时,建议优先查阅具体 doAction() 调用点的源码,以确认准确的参数个数与类型,避免回调签名不匹配。

THE END
分享文章
QQ好友 QQ空间 新浪微博 复制链接

相关文章

评论列表 (0)

还没有评论,告诉我们你的想法。

呵呵哈哈吐舌惊恐酷发飙嗯哼流汗大哭尴尬黑脸超赞金钱疑问尬脸吐哦豁委屈眯眼笑哟嚯超开心滑稽眨眼羡慕入眠惊哭气呼呼震惊喷水爱心心碎玫瑰礼物咖啡OK小无奈偷笑坏笑卧槽要死亚麻跌笑哭了犀利理一下坐端正完美吃瓜摊手困狗靠墙看发现饮酒忍笑警告炸黑滑稽汗打脸胖次低看
清空信息
点开播放器搜索歌曲,歌词将在这里横屏显示