插件接口及功能列表
默认接口
在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
接口
参数
描述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
$password
$temporarily
$expire
loginFail
$user Widget_User对象
$name
$password
$temporarily
$expire
logout
无
Widget_XmlRpc
接口
参数
描述textFilter
$input['text']
$xmlRpc Widget_XmlRpc对象
upload
$xmlRpc Widget_XmlRpc对象
pingback
$pingback
$post
finishPingback
$xmlRpc Widget_XmlRpc对象
Widget_Abstract_Comments
接口
参数
描述content
$text
$comments Widget_Abstract_Comments对象
以下句柄同样具有此接口:
Widget_Feedback
Widget_Comments_Admin
Widget_Comments_Archive
Widget_Comments_Edit
Widget_Comments_Ping
Widget_Comments_Recent
contentEx
$text
$comments Widget_Abstract_Comments对象
以下句柄同样具有此接口:
Widget_Feedback
Widget_Comments_Admin
Widget_Comments_Archive
Widget_Comments_Edit
Widget_Comments_Ping
Widget_Comments_Recent
filter
$value
$comments Widget_Abstract_Comments对象
以下句柄同样具有此接口:
Widget_Feedback
Widget_Comments_Admin
Widget_Comments_Archive
Widget_Comments_Edit
Widget_Comments_Ping
Widget_Comments_Recent
gravatar
$size
$rating
$default
$comments Widget_Abstract_Comments对象
以下句柄同样具有此接口:
Widget_Feedback
Widget_Comments_Admin
Widget_Comments_Archive
Widget_Comments_Edit
Widget_Comments_Ping
Widget_Comments_Recent
autoP
$text
以下句柄同样具有此接口:
Widget_Feedback
Widget_Comments_Admin
Widget_Comments_Archive
Widget_Comments_Edit
Widget_Comments_Ping
Widget_Comments_Recent
markdown
$text
以下句柄同样具有此接口:
Widget_Feedback
Widget_Comments_Admin
Widget_Comments_Archive
Widget_Comments_Edit
Widget_Comments_Ping
Widget_Comments_Recent
Widget_Abstract_Contents
接口
参数
描述excerpt
text
$contents Widget_Abstract_Contents对象
以下句柄同样具有此接口:
Widget_Archive
Widget_Upload
Widget_XmlRpc
Widget_Contents_Related
Widget_Contents_Attachment_Admin
Widget_Contents_Attachment_Related
Widget_Contents_Attachment_Unattached
Widget_Contents_Page_List
Widget_Contents_Post_Admin
Widget_Contents_Page_Admin
Widget_Contents_Post_Edit
Widget_Contents_Attachment_Edit
Widget_Contents_Page_Edit
Widget_Contents_Post_Recent
Widget_Contents_Related_Author
excerptEx
$excerpt
$contents Widget_Abstract_Contents对象
以下句柄同样具有此接口:
Widget_Archive
Widget_Upload
Widget_XmlRpc
Widget_Contents_Related
Widget_Contents_Attachment_Admin
Widget_Contents_Attachment_Related
Widget_Contents_Attachment_Unattached
Widget_Contents_Page_List
Widget_Contents_Post_Admin
Widget_Contents_Page_Admin
Widget_Contents_Post_Edit
Widget_Contents_Attachment_Edit
Widget_Contents_Page_Edit
Widget_Contents_Post_Recent
Widget_Contents_Related_Author
content
text
$contents Widget_Abstract_Contents对象
以下句柄同样具有此接口:
Widget_Archive
Widget_Upload
Widget_XmlRpc
Widget_Contents_Related
Widget_Contents_Attachment_Admin
Widget_Contents_Attachment_Related
Widget_Contents_Attachment_Unattached
Widget_Contents_Page_List
Widget_Contents_Post_Admin
Widget_Contents_Page_Admin
Widget_Contents_Post_Edit
Widget_Contents_Attachment_Edit
Widget_Contents_Page_Edit
Widget_Contents_Post_Recent
Widget_Contents_Related_Author
contentEx
$content
$contents Widget_Abstract_Contents对象
以下句柄同样具有此接口:
Widget_Archive
Widget_Upload
Widget_XmlRpc
Widget_Contents_Related
Widget_Contents_Attachment_Admin
Widget_Contents_Attachment_Related
Widget_Contents_Attachment_Unattached
Widget_Contents_Page_List
Widget_Contents_Post_Admin
Widget_Contents_Page_Admin
Widget_Contents_Post_Edit
Widget_Contents_Attachment_Edit
Widget_Contents_Page_Edit
Widget_Contents_Post_Recent
Widget_Contents_Related_Author
isFieldReadOnly
$name
以下句柄同样具有此接口:
Widget_Archive
Widget_Upload
Widget_XmlRpc
Widget_Contents_Related
Widget_Contents_Attachment_Admin
Widget_Contents_Attachment_Related
Widget_Contents_Attachment_Unattached
Widget_Contents_Page_List
Widget_Contents_Post_Admin
Widget_Contents_Page_Admin
Widget_Contents_Post_Edit
Widget_Contents_Attachment_Edit
Widget_Contents_Page_Edit
Widget_Contents_Post_Recent
Widget_Contents_Related_Author
filter
$value
$contents Widget_Abstract_Contents对象
以下句柄同样具有此接口:
Widget_Archive
Widget_Upload
Widget_XmlRpc
Widget_Contents_Related
Widget_Contents_Attachment_Admin
Widget_Contents_Attachment_Related
Widget_Contents_Attachment_Unattached
Widget_Contents_Page_List
Widget_Contents_Post_Admin
Widget_Contents_Page_Admin
Widget_Contents_Post_Edit
Widget_Contents_Attachment_Edit
Widget_Contents_Page_Edit
Widget_Contents_Post_Recent
Widget_Contents_Related_Author
title
title
$contents Widget_Abstract_Contents对象
以下句柄同样具有此接口:
Widget_Archive
Widget_Upload
Widget_XmlRpc
Widget_Contents_Related
Widget_Contents_Attachment_Admin
Widget_Contents_Attachment_Related
Widget_Contents_Attachment_Unattached
Widget_Contents_Page_List
Widget_Contents_Post_Admin
Widget_Contents_Page_Admin
Widget_Contents_Post_Edit
Widget_Contents_Attachment_Edit
Widget_Contents_Page_Edit
Widget_Contents_Post_Recent
Widget_Contents_Related_Author
autoP
$text
以下句柄同样具有此接口:
Widget_Archive
Widget_Upload
Widget_XmlRpc
Widget_Contents_Related
Widget_Contents_Attachment_Admin
Widget_Contents_Attachment_Related
Widget_Contents_Attachment_Unattached
Widget_Contents_Page_List
Widget_Contents_Post_Admin
Widget_Contents_Page_Admin
Widget_Contents_Post_Edit
Widget_Contents_Attachment_Edit
Widget_Contents_Page_Edit
Widget_Contents_Post_Recent
Widget_Contents_Related_Author
markdown
$text
以下句柄同样具有此接口:
Widget_Archive
Widget_Upload
Widget_XmlRpc
Widget_Contents_Related
Widget_Contents_Attachment_Admin
Widget_Contents_Attachment_Related
Widget_Contents_Attachment_Unattached
Widget_Contents_Page_List
Widget_Contents_Post_Admin
Widget_Contents_Page_Admin
Widget_Contents_Post_Edit
Widget_Contents_Attachment_Edit
Widget_Contents_Page_Edit
Widget_Contents_Post_Recent
Widget_Contents_Related_Author
Widget_Abstract_Metas
接口
参数
描述filter
$value
$metas Widget_Abstract_Metas对象
以下句柄同样具有此接口:
Widget_Metas_Category_Edit
Widget_Metas_Category_List
Widget_Metas_Category_Admin
Widget_Metas_Tag_Cloud
Widget_Metas_Tag_Admin
Widget_Metas_Tag_Edit
Widget_Abstract_Users
接口
参数
描述filter
$value
$users Widget_Abstract_Users对象
以下句柄同样具有此接口:
Widget_Login
Widget_Logout
Widget_Register
Widget_Users_Admin
Widget_Users_Author
Widget_Users_Edit
Widget_Users_Profile
Widget_Comments_Archive
接口
参数
描述listComments
singleCommentOptions
$archive Widget_Comments_Archive对象
reply
$word
$archive Widget_Comments_Archive对象
cancelReply
$word
$archive Widget_Comments_Archive对象
Widget_Comments_Edit
接口
参数
描述mark
$comment
$edit Widget_Comments_Edit对象
$status
delete
$comment
$edit Widget_Comments_Edit对象
finishDelete
$comment
$edit Widget_Comments_Edit对象
edit
$comment
$edit Widget_Comments_Edit对象
finishEdit
$edit Widget_Comments_Edit对象
comment
$comment
$edit Widget_Comments_Edit对象
finishComment
$edit Widget_Comments_Edit对象
Widget_Contents_Attachment_Edit
接口
参数
描述delete
$post
$edit Widget_Contents_Attachment_Edit对象
finishDelete
$post
$edit Widget_Contents_Attachment_Edit对象
delete
$post
$edit Widget_Contents_Attachment_Edit对象
finishDelete
$post
$edit Widget_Contents_Attachment_Edit对象
Widget_Contents_Page_Edit
接口
参数
描述write
$contents
$edit Widget_Contents_Page_Edit对象
finishPublish
$contents
$edit Widget_Contents_Page_Edit对象
finishSave
$contents
$edit Widget_Contents_Page_Edit对象
delete
$page
$edit Widget_Contents_Page_Edit对象
finishDelete
$page
$edit Widget_Contents_Page_Edit对象
Widget_Contents_Post_Edit
接口
参数
描述getDefaultFieldItems
$layout
以下句柄同样具有此接口:
Widget_Contents_Attachment_Edit
Widget_Contents_Page_Edit
write
$contents
$edit Widget_Contents_Post_Edit对象
以下句柄同样具有此接口:
Widget_Contents_Attachment_Edit
Widget_Contents_Page_Edit
finishPublish
$contents
$edit Widget_Contents_Post_Edit对象
以下句柄同样具有此接口:
Widget_Contents_Attachment_Edit
Widget_Contents_Page_Edit
finishSave
$contents
$edit Widget_Contents_Post_Edit对象
以下句柄同样具有此接口:
Widget_Contents_Attachment_Edit
Widget_Contents_Page_Edit
delete
$post
$edit Widget_Contents_Post_Edit对象
以下句柄同样具有此接口:
Widget_Contents_Attachment_Edit
Widget_Contents_Page_Edit
finishDelete
$post
$edit Widget_Contents_Post_Edit对象
以下句柄同样具有此接口:
Widget_Contents_Attachment_Edit
Widget_Contents_Page_Edit
Widget_Metas_Category_List
接口
参数
描述listCategories
categoryOptions
$list Widget_Metas_Category_List对象
以下句柄同样具有此接口:
Widget_Metas_Category_Admin