loading...

给typecho写个插件就是这么简单

发布时间:October 25, 2009

给typecho写一个插件并不是一件高深的事情,首先,需要了解typecho php使用的编码规范,请参考
http://typecho.org/phpcoding
论坛的bin同学也给出一个了简明的说明:
http://forum.typecho.org/viewtopic.php?f=6&t=160

以后就是给typecho写一个方便部署统计代码的插件,使用说明:
1、把下面的代码保存成AnalyticsHelper.php(注意大小写)
2、上传到/usr/plugins/
3、后台启用AnalyticsHelper插件
4、配置插件,输入统计的js代码
5、在模版的合适位置加入<?php AnalyticsHelper::output(); ?>

<?php
/**
 * AnalyticsHelper
 * 
 * @package AnalyticsHelper 
 * @author sluke
 * @version 0.9 beta
 * @link http://typecho.org
 */
class AnalyticsHelper implements Typecho_Plugin_Interface
{
    /**
     * 激活插件方法,如果激活失败,直接抛出异常
     * 
     * @access public
     * @return void
     * @throws Typecho_Plugin_Exception
     */
    public static function activate(){}
 
    /**
     * 禁用插件方法,如果禁用失败,直接抛出异常
     * 
     * @static
     * @access public
     * @return void
     * @throws Typecho_Plugin_Exception
     */
    public static function deactivate(){}
 
    /**
     * 获取插件配置面板
     * 
     * @access public
     * @param Typecho_Widget_Helper_Form $form 配置面板
     * @return void
     */
    public static function config(Typecho_Widget_Helper_Form $form)
    {
        /** 配置各种统计代码 */
        $name = new Typecho_Widget_Helper_Form_Element_Text('code', NULL, 'Analytics code', _t('写入统计代码'));
        $form->addInput($name);
    }
 
    /**
     * 个人用户的配置面板
     * 
     * @access public
     * @param Typecho_Widget_Helper_Form $form
     * @return void
     */
    public static function personalConfig(Typecho_Widget_Helper_Form $form){}
 
    /**
     * 插件实现方法
     * 
     * @access public
     * @return void
     */
    public static function output()
    {
        echo '<div style="display:none">' . Typecho_Widget::widget('Widget_Options')->plugin('AnalyticsHelper')->code . '</div>'; 
    }
}

如果觉得php高亮挺好看,可以去70同学那里下载代码高亮插件
http://www.joyqi.com/typecho/move-to-mediatemple.html

标签: plugins, php, typecho, Analytics


已有 5 条评论 »

  1. 那天装了一下typecho,发现连编辑器都没了...

    1. 默认不带编辑器,需要编辑器去下个编辑器插件。

  2. 请问插件无法禁用是怎么回事?

    1. 如果为禁用插件就将插件文件删除,可能产生这个问题,你可以试试重新安装该插件再禁用

  3. 谢谢,typecho-0.8 可用!
    不过最好的还是自己要去写插件....:)

添加新评论 »