- 默认接口
- Widget接口
- Widget_Feedback
- Widget_Login
- Widget_Logout
- Widget_Register
- Widget_Upload
- Widget_User
- Widget_XmlRpc
- Widget_Abstract_Comments
- Widget_Abstract_Contents
- Widget_Abstract_Metas
- Widget_Abstract_Users
- Widget_Comments_Archive
- Widget_Comments_Edit
- Widget_Contents_Attachment_Edit
- Widget_Contents_Page_Edit
- Widget_Contents_Post_Edit
- Widget_Metas_Category_List
默认接口
在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接口
| 接口 | 参数 | 描述 |
|---|---|---|
| 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 $totalpageSize $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 |
