Typecho插件开发文档整理,By TypechoDev

插件开发及发布

版主: woniou

回复
leimiu
帖子: 11
注册时间: 2015年 3月 2日 22:04

Typecho插件开发文档整理,By TypechoDev

帖子 leimiu »

转载自TypechoDev:http://www.typechodev.com/index.php/archives/498/

模板开发
functions.php
themeInit函数会在所有模板文件前加载,一般用于配置Typecho行为,譬如修改默认pageSize为20等。

themeInit
themeConfig
themeConfigHandle
themeFields
threadedComments
singlePing
treeViewCategories
详细用法参考《Typecho的functions.php》

Typecho_Archive
模板文件index.php/page.php/single.php/post.php/category.php等,都是通过Typecho_Archive加载,换句话说,这些模板文件中,用到得都是Typecho_Archive的api。

详细API参考《Widget_Archive开发文档》

其他常用组件
Widget_Contents_Post_Recent 最新文章组件,用于加载最新文章列表。
Widget_Contents_Post_Date 按日期归档列表组件,用于根据日期(年月日三个维度)来加载归档列表的组件。
Widget_Contents_Related 相关内容组件(根据标签关联),用于加载相同标签的相关文章。
Widget_Metas_Category_List 分类输出组件,用于列举数据库中存在的分类
Widget_Metas_Tag_Cloud 标签云组件。
插件开发
Plugin.php
插件的入口文件,包括激活、卸载和配置等,均在此文件中指定。
详情请参考《Typecho插件中的Plugin.php》

插件配置
包括插件配置(Plugin.php中)或者模板配置(functions.php中),均可以通过Typecho_Widget_Helper_Form的相关接口来指定配置项。
详细API请参考《Typecho_Widget_Helper_Form开发手册》

常用初始化功能
添加或者删除路由
添加或者删除action
添加或者删除panel
其他常用钩子接口
基本用法:

Typecho_Plugin::factory('hook_pointer')->hook_name = array('Plugin_Name', 'Plugin_Action');
hook_pointer表示挂载点,譬如index.php;hook_name表示钩子名,譬如begin;Plugin_Name表示你钩子处理对象的类名,Plugin_Action表示钩子处理函数。

常见的挂载点:

index.php->begin 在入口文件index.php中触发
Widget_Archive -> beforeRender,在渲染皮肤前调用,譬如可以实现Views统计功能
Widget_Feedback -> comment,在评论的时候调用,譬如可以实现垃圾评论过滤功能
更多内容请参考《Typecho中常用挂载点收录》

数据库操作
Typecho数据库提供了非常易用的api,和原生SQL写法没有太大的差别,同时也很好地处理了SQL常见的安全问题,如sql注入等。
更加详细的API请参考《Typecho数据库常用API》

辅助Helper
Helper
Helper类,顾名思义,此辅助类提供了很多常用的帮助函数,譬如addRoute、addAction等。
详细参考:《Typecho中的Helper》

Typecho_Options
Typecho_Options提供了获取系统配置等的快捷方式,在日常插件/模板开发中也经常用到。
详情请参考:《Typecho中的Typecho_Options》
头像
zyzzc
帖子: 648
注册时间: 2009年 9月 25日 20:11
联系:

Re: Typecho插件开发文档整理,By TypechoDev

帖子 zyzzc »

顶下,LZ的站专业专注,能学到很多东西!
回复