Typecho 插件开发 之 插件接口及功能列表
默认接口
在Typecho中只要这个类是继承自Typecho_Widget基类,它就默认具备了这个插件接口。接口开发者可以使用这个接口无缝地向当前的Class中注入方法
比如我要给Widget_Archive类增加一个方法获取当前文章的字数(charactersNum),只需要在你的插件activate
方法中声明
Typecho_Plugin::factory('Widget_Archive')->___charactersNum = array('MyPlugin', 'charactersNum');
注意,我们在方法名前面加三个下划线表示这是一个内部方法。而实现这个方法也很简单,因为系统会将当前的对象作为参数传递给你
public static function charactersNum($archive){
return mb_strlen($archive->text, 'UTF-8');}
那么这个方法就已经植入到Widget_Archive中去了,你在模版中可以直接调用如下代码输出它
<?php $this->charactersNum(); ?>
Widget接口
Widget_Archive
接口 |
参数 |
描述 |
indexHandle |
$archive Widget_Archive对象$select Typecho_Db_Query对象 |
当访问最近文章首页以及分页时被触发 |
error404Handle |
$archive Widget_Archive对象$select Typecho_Db_Query对象 |
当访问404页面时被触发 |
singleHandle |
$archive Widget_Archive对象$select Typecho_Db_Query对象 |
当访问单独页面时被触发(文章,页面,附件) |
categoryHandle |
$archive Widget_Archive对象$select Typecho_Db_Query对象 |
当访问按分类归档页面时被触发 |
tagHandle |
$archive Widget_Archive对象$select Typecho_Db_Query对象 |
当访问按标签归档页面时被触发 |
authorHandle |
$archive Widget_Archive对象$select Typecho_Db_Query对象 |
当访问按作者归档页面时被触发 |
dateHandle |
$archive Widget_Archive对象$select Typecho_Db_Query对象 |
当访问按日期归档页面时被触发 |
search |
$keywords 搜索关键词$archive Widget_Archive对象 |
这是一个独占接口,当访问搜索页面时被触发 当这个接口被实现后,系统自己的搜索动作将不会继续,你需要在这个接口内自己push搜索的数据到Widget_Archive对象 此接口多用于自己实现站内搜索来替换默认的 |
searchHandle |
$archive Widget_Archive对象$select Typecho_Db_Query对象 |
当访问搜索页面时被触发 |
query |
$archive Widget_Archive对象$select Typecho_Db_Query对象 |
Widget_Archive所有的数据库查询动作最终将由一个query方法来执行 此接口在query方法内,多用于hack某些查询语句 |
select |
$archive Widget_Archive对象 |
|
handleInit |
$archive Widget_Archive对象$select Typecho_Db_Query对象 |
|
handle |
type``$archive Widget_Archive对象$select Typecho_Db_Query对象 |
|
pageNav |
currentPage``$total``pageSize``$prev``$next``$splitPage``$splitWord |
|
headerOptions |
$allows``$archive Widget_Archive对象 |
|
header |
$header``$archive Widget_Archive对象 |
|
footer |
$archive Widget_Archive对象 |
|
beforeRender |
$archive Widget_Archive对象 |
|
afterRender |
$archive Widget_Archive对象 |
|
commentFeedItem |
feedType``$comments |
|
feedItem |
feedType``$archive Widget_Archive对象 |
|
Widget_Feedback
接口 |
参数 |
描述 |
comment |
$comment``content |
|
finishComment |
$feedback Widget_Feedback对象 |
|
trackback |
$trackback``content |
|
finishTrackback |
$feedback Widget_Feedback对象 |
|
Widget_Login
接口 |
参数 |
描述 |
loginFail |
user``name``password``remember |
|
loginSucceed |
user``name``password``remember |
|
Widget_Logout
Widget_Register
接口 |
参数 |
描述 |
register |
$dataStruct |
|
finishRegister |
$register Widget_Register对象 |
|
Widget_Upload
接口 |
参数 |
描述 |
beforeUpload |
$result |
|
upload |
$upload Widget_Upload对象 |
|
beforeModify |
$result |
|
modify |
$upload Widget_Upload对象 |
|
Widget_User
接口 |
参数 |
描述 |
login |
$name``$password``$temporarily``$expire |
|
hashValidate |
$password``$user['password'] |
|
loginSucceed |
$user Widget_User对象$name 标签: Typecho插件开发, Typecho功能列表, Typecho插件接口 |
|
评论已关闭