Welcome! / 欢迎!

插件接口及功能列表

默认接口

在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 WidgetArchive对象 $select TypechoDbQuery对象 | 当访问最近文章首页以及分页时被触发 | | error404Handle | $archive WidgetArchive对象 $select TypechoDbQuery对象 当访问404页面时被触发
singleHandle $archive WidgetArchive对象 $select TypechoDbQuery对象 | 当访问单独页面时被触发(文章,页面,附件) | | categoryHandle | $archive WidgetArchive对象 $select TypechoDbQuery对象 当访问按分类归档页面时被触发
tagHandle

* $archive WidgetArchive对象 * $select TypechoDb_Query对象

| 当访问按标签归档页面时被触发 |

authorHandle

* $archive WidgetArchive对象 * $select TypechoDb_Query对象

| 当访问按作者归档页面时被触发 |

dateHandle

* $archive WidgetArchive对象 * $select TypechoDb_Query对象

| 当访问按日期归档页面时被触发 |

search

* $keywords 搜索关键词 * $archive Widget_Archive对象

| 这是一个独占接口,当访问搜索页面时被触发 当这个接口被实现后,系统自己的搜索动作将不会继续,你需要在这个接口内自己push搜索的数据到Widget_Archive对象 此接口多用于自己实现站内搜索来替换默认的 |

searchHandle

* $archive WidgetArchive对象 * $select TypechoDb_Query对象

| 当访问搜索页面时被触发 |

query

* $archive WidgetArchive对象 * $select TypechoDb_Query对象

| Widget_Archive所有的数据库查询动作最终将由一个query方法来执行 此接口在query方法内,多用于hack某些查询语句 |

select

* $archive Widget_Archive对象

| |

handleInit

* $archive WidgetArchive对象 * $select TypechoDb_Query对象

| |

handle

* type * $archive WidgetArchive对象 * $select TypechoDb_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 <cite>无</cite>

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 <cite>无</cite>

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 WidgetAbstractComments对象

| 以下句柄同样具有此接口:

  • Widget_Feedback
  • Widget_Comments_Admin
  • Widget_Comments_Archive
  • Widget_Comments_Edit
  • Widget_Comments_Ping
  • Widget_Comments_Recent

    |

    contentEx
  • $text
  • $comments WidgetAbstractComments对象

    | 以下句柄同样具有此接口:

  • Widget_Feedback
  • Widget_Comments_Admin
  • Widget_Comments_Archive
  • Widget_Comments_Edit
  • Widget_Comments_Ping
  • Widget_Comments_Recent

    |

    filter
  • $value
  • $comments WidgetAbstractComments对象

    | 以下句柄同样具有此接口:

  • Widget_Feedback
  • Widget_Comments_Admin
  • Widget_Comments_Archive
  • Widget_Comments_Edit
  • Widget_Comments_Ping
  • Widget_Comments_Recent

    |

    gravatar
  • $size
  • $rating
  • $default
  • $comments WidgetAbstractComments对象

    | 以下句柄同样具有此接口:

  • 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 WidgetAbstractContents对象

| 以下句柄同样具有此接口:

  • 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 WidgetAbstractContents对象

    | 以下句柄同样具有此接口:

  • 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 WidgetAbstractContents对象

    | 以下句柄同样具有此接口:

  • 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 WidgetAbstractContents对象

    | 以下句柄同样具有此接口:

  • 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 WidgetAbstractContents对象

    | 以下句柄同样具有此接口:

  • 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 WidgetAbstractContents对象

    | 以下句柄同样具有此接口:

  • 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 WidgetAbstractMetas对象

| 以下句柄同样具有此接口:

  • 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 WidgetAbstractUsers对象

| 以下句柄同样具有此接口:

  • Widget_Login
  • Widget_Logout
  • Widget_Register
  • Widget_Users_Admin
  • Widget_Users_Author
  • Widget_Users_Edit
  • Widget_Users_Profile

    |

Widget_Comments_Archive

接口 参数 描述
listComments

* singleCommentOptions * $archive WidgetCommentsArchive对象

| |

reply

* $word * $archive WidgetCommentsArchive对象

| |

cancelReply

* $word * $archive WidgetCommentsArchive对象

| |

Widget_Comments_Edit

接口 参数 描述
mark

* $comment * $edit WidgetCommentsEdit对象 * $status

| |

delete

* $comment * $edit WidgetCommentsEdit对象

| |

finishDelete

* $comment * $edit WidgetCommentsEdit对象

| |

edit

* $comment * $edit WidgetCommentsEdit对象

| |

finishEdit

* $edit WidgetCommentsEdit对象

| |

comment

* $comment * $edit WidgetCommentsEdit对象

| |

finishComment

* $edit WidgetCommentsEdit对象

| |

Widget_Contents_Attachment_Edit

接口 参数 描述
delete

* $post * $edit WidgetContentsAttachment_Edit对象

| |

finishDelete

* $post * $edit WidgetContentsAttachment_Edit对象

| |

delete

* $post * $edit WidgetContentsAttachment_Edit对象

| |

finishDelete

* $post * $edit WidgetContentsAttachment_Edit对象

| |

Widget_Contents_Page_Edit

接口 参数 描述
write

* $contents * $edit WidgetContentsPage_Edit对象

| |

finishPublish

* $contents * $edit WidgetContentsPage_Edit对象

| |

finishSave

* $contents * $edit WidgetContentsPage_Edit对象

| |

delete

* $page * $edit WidgetContentsPage_Edit对象

| |

finishDelete

* $page * $edit WidgetContentsPage_Edit对象

| |

Widget_Contents_Post_Edit

接口 参数 描述
getDefaultFieldItems

* $layout

| 以下句柄同样具有此接口:

  • Widget_Contents_Attachment_Edit
  • Widget_Contents_Page_Edit

    |

    write
  • $contents
  • $edit WidgetContentsPost_Edit对象

    | 以下句柄同样具有此接口:

  • Widget_Contents_Attachment_Edit
  • Widget_Contents_Page_Edit

    |

    finishPublish
  • $contents
  • $edit WidgetContentsPost_Edit对象

    | 以下句柄同样具有此接口:

  • Widget_Contents_Attachment_Edit
  • Widget_Contents_Page_Edit

    |

    finishSave
  • $contents
  • $edit WidgetContentsPost_Edit对象

    | 以下句柄同样具有此接口:

  • Widget_Contents_Attachment_Edit
  • Widget_Contents_Page_Edit

    |

    delete
  • $post
  • $edit WidgetContentsPost_Edit对象

    | 以下句柄同样具有此接口:

  • Widget_Contents_Attachment_Edit
  • Widget_Contents_Page_Edit

    |

    finishDelete
  • $post
  • $edit WidgetContentsPost_Edit对象

    | 以下句柄同样具有此接口:

  • Widget_Contents_Attachment_Edit
  • Widget_Contents_Page_Edit

    |

Widget_Metas_Category_List

接口 参数 描述
listCategories

* categoryOptions * $list WidgetMetasCategory_List对象

| 以下句柄同样具有此接口:

  • Widget_Metas_Category_Admin

    |

打印/导出