本文整理自 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 | 评论成功保存到数据库后 |
微语 / 动态
用户 / 认证
| 钩子 | 说明 |
|---|
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_display | RSS 订阅输出显示时 |
page_not_found | 触发 404 页面未找到时 |
before_output_view | 视图内容输出到浏览器之前 |
tpl_options_get | 获取模板设置选项时 |
四、JavaScript 前端钩子
以下钩子通过前端 doAction() 调用,用于挂载 JS 逻辑:
| 钩子 | 触发时机 |
|---|
page_loaded | 后台撰写页面 JS 加载完成时 |
loaded | 后台撰写文章 JS 加载完成时 |
twitter_loaded | 微语管理页面 JS 加载完成时 |
使用说明
- 语言区分:除第四部分标注为 JS 钩子的条目外,其余均为 PHP 端通过
doAction() 调用。 - 挂载方式:这些钩子均可通过
addAction() 方法挂载自定义函数来实现功能扩展。 - 参数说明:参数请结合具体调用处判断——
doAction() 的第二个参数起,即为传递给回调函数的参数。例如:
doAction('save_log', $blogid, $isPub, $logData);
// 对应回调可接收: function ($blogid, $isPub, $logData) { ... }
- 命名规律:钩子名多以模块前缀区分,如
adm_(后台)、index_(前台)、adm_writelog_(撰写)、comment_ / like_(业务逻辑),便于快速定位。
提示:开发插件时,建议优先查阅具体 doAction() 调用点的源码,以确认准确的参数个数与类型,避免回调签名不匹配。
评论列表 (0)
还没有评论,告诉我们你的想法。