最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

typecho插件編寫教程(五):核心代碼

 更新時間:2015年05月28日 15:14:47   投稿:junjie  
這篇文章主要介紹了typecho插件編寫教程(五):核心代碼,本文講解了完整的插件核心代碼的示例,需要的朋友可以參考下

之前啰嗦了很多,現在開始寫核心代碼。

分析一下,發(fā)布文章的時候,我們需要的信息就是當前文章的URL,我們需要想辦法從$contents、 $class中拿到他。

目前我們的插件類代碼如下(請注意render被我改成了send)

復制代碼 代碼如下:

class BaiduSubmitTest_Plugin implements Typecho_Plugin_Interface
{

    public static function activate(){
        //掛載發(fā)布文章和頁面的接口
        Typecho_Plugin::factory('Widget_Contents_Post_Edit')->finishPublish = array('BaiduSubmitTest_Plugin', 'send');
        Typecho_Plugin::factory('Widget_Contents_Page_Edit')->finishPublish = array('BaiduSubmitTest_Plugin', 'send');
        return '插件安裝成功,請進入設置填寫準入密鑰';
    }

    public static function deactivate(){
        // do something
        return '插件卸載成功';
    }

    public static function config(Typecho_Widget_Helper_Form $form){
        $element = new Typecho_Widget_Helper_Form_Element_Text('api', null, null, _t('準入秘鑰'), '請登錄百度站長平臺獲取');
        $form->addInput($element);
    }

    public static function personalConfig(Typecho_Widget_Helper_Form $form){}

    public static function send($contents, $class){
        //do something
    }
}

獲取URL

獲取永久鏈接需要通過路由規(guī)則 + Typecho_Common::url 聯合生成!

復制代碼 代碼如下:

class BaiduSubmitTest_Plugin implements Typecho_Plugin_Interface
{

    public static function activate(){
        //掛載發(fā)布文章和頁面的接口
        Typecho_Plugin::factory('Widget_Contents_Post_Edit')->finishPublish = array('BaiduSubmitTest_Plugin', 'send');
        Typecho_Plugin::factory('Widget_Contents_Page_Edit')->finishPublish = array('BaiduSubmitTest_Plugin', 'send');
        return '插件安裝成功,請進入設置填寫準入密鑰';
    }

    public static function deactivate(){
        // do something
        return '插件卸載成功';
    }

    public static function config(Typecho_Widget_Helper_Form $form){
        //保存接口調用地址
        $element = new Typecho_Widget_Helper_Form_Element_Text('api', null, null, _t('接口調用地址'), '請登錄百度站長平臺獲取');
        $form->addInput($element);
    }

    public static function personalConfig(Typecho_Widget_Helper_Form $form){}

    /**
     * 準備數據
     * @param $contents 文章內容
     * @param $class 調用接口的類
     * @throws Typecho_Plugin_Exception
     */
    public static function send($contents, $class){

        //如果文章屬性為隱藏或滯后發(fā)布
        if( 'publish' != $contents['visibility'] || $contents['created'] > time()){
            return;
        }

        //獲取系統配置
        $options = Helper::options();

        //判斷是否配置好API
        if( is_null($options->plugin('BaiduSubmitTest')->api) ){
            return;
        }

        //獲取文章類型
        $type = $contents['type'];

        //獲取路由信息
        $routeExists = (NULL != Typecho_Router::get($type));

        //生成永久連接
        $path_info = $routeExists ? Typecho_Router::url($type, $contents) : '#';
        $permalink = Typecho_Common::url($path_info, $options->index);
    }
}

代碼中有注釋,老高就不在贅述了。

至此我們已經拿到了文章的永久鏈接,下一步就是給百度服務器發(fā)送數據了!

本節(jié)完!

相關文章

  • php如何把表單內容提交到數據庫

    php如何把表單內容提交到數據庫

    這篇文章主要介紹了php如何吧表單內容提交到數據庫,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • php實現小程序支付完整版

    php實現小程序支付完整版

    這篇文章主要為大家詳細介紹了php實現小程序支付完整版,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • Yii調試查看執(zhí)行SQL語句的方法

    Yii調試查看執(zhí)行SQL語句的方法

    這篇文章主要介紹了Yii調試查看執(zhí)行SQL語句的方法,涉及Yii配置文件的相關設置方法,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • 基于thinkphp5框架實現微信小程序支付 退款 訂單查詢 退款查詢操作

    基于thinkphp5框架實現微信小程序支付 退款 訂單查詢 退款查詢操作

    這篇文章主要介紹了基于thinkphp5框架實現微信小程序支付 退款 訂單查詢 退款查詢操作,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • php封裝json通信接口詳解及實例

    php封裝json通信接口詳解及實例

    這篇文章主要介紹了php封裝json通信接口詳解及實例的相關資料,需要的朋友可以參考下
    2017-03-03
  • php利用嵌套數組拼接與解析json的方法

    php利用嵌套數組拼接與解析json的方法

    本篇文章主要介紹了php利用嵌套數組拼接與解析json的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • thinkPHP框架中執(zhí)行事務的方法示例

    thinkPHP框架中執(zhí)行事務的方法示例

    這篇文章主要介紹了thinkPHP框架中執(zhí)行事務的方法,結合實例形式分析了thinkPHP框架中使用模型中封裝的startTran()、Commit()及Rollback()方法執(zhí)行事務與回滾操作相關實現技巧,需要的朋友可以參考下
    2018-05-05
  • THINKPHP5分頁數據對象處理過程解析

    THINKPHP5分頁數據對象處理過程解析

    這篇文章主要介紹了THINKPHP5分頁數據對象處理過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • laravel 5 實現模板主題功能(續(xù))

    laravel 5 實現模板主題功能(續(xù))

    前面一篇文章,我們簡單討論了laravel模板主題功能,本文我們繼續(xù)探討laravel模板主題功能的實現,本次實現比較重,有興趣慢慢看吧。
    2015-03-03
  • PHP實現下載遠程圖片保存到本地的方法

    PHP實現下載遠程圖片保存到本地的方法

    本篇文章主要介紹了PHP實現下載遠程圖片的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06

最新評論

绥化市| 商河县| 方正县| 杭州市| 曲松县| 井冈山市| 荥经县| 唐山市| 镶黄旗| 鄂州市| 泾阳县| 灵武市| 邢台县| 巨鹿县| 房山区| 镶黄旗| 伊宁县| 原平市| 和硕县| 南开区| 疏附县| 永胜县| 水城县| 连平县| 南昌市| 临猗县| 蓝山县| 郎溪县| 观塘区| 安岳县| 荥阳市| 农安县| 蒲城县| 集贤县| 加查县| 寿阳县| 丹棱县| 黄山市| 马龙县| 大名县| 老河口市|