SOY CMS / SOY Shop

ブログトップ

Twitter投稿プラグイン開発について1

2009年08月10日

最近、

SOY CMSをいじれるようになりたいという気持ちから、

PHPの勉強を始めました。

 

PHPの勉強の題材として、

Twitter投稿プラグインを作成する。

という目標を掲げ、スタートしました。

[Twitter]ブログ更新つぶやきプラグイン -フォーラム-

 

今回は

Twitter投稿プラグイン開発の流れを

この場に記載したいと思います。

Twitter投稿プラグインは

 

Twitter APIを利用して

ブログから記事投稿したときに、管理画面で登録しておいた自身のIDから自動でつぶやいてもらう

という機能を搭載したプラグインです。

( 現在はSOY_CMSのアカウントで利用されています )

 

 

なお、開発の流れにはPostEntryTwitter Ver 0.5で進めます。

 

まずはsoycmsのインストールディレクトリの下位にある「common/site_include/plugins」ディレクトリ(以下、pluginsディレクトリ)にプラグインを配置するためのディレクトリ「PostEntryTwitter」を作成しました。

 

続いて、「PostEntryTwitter」ディレクトリ以下に「PostEntryTwitter.php」を作成しました。

 

ここでは必ず、ファイル名とディレクトリ名が同じでなければいけません。

 

PostEntryTwitter.phpには以下のように記入しました。

/**
* Twitter投稿プラグイン
* - PostEntryTwitter.php
*/
PostEntryTwitterPlugin::register();

class PostEntryTwitterPlugin{
const PLUGIN_ID ="PostEntryTwitter";
private $twitter_username; //Twitterの自身のIDを保存する
private $twitter_psw; //Twitterの自身のパスワードを保存する

public static function register(){

$obj = CMSPlugin::loadPluginConfig(self::PLUGIN_ID);
if(!$obj){
$obj = new PostEntryTwitterPlugin();
}

CMSPlugin::addPlugin(self::PLUGIN_ID,array($obj,"init"));
}

function getId(){

return self::PLUGIN_ID;

}

function init(){

}
}

 

ここで管理画面のプラグイン管理を見ると

 

プラグイン名が表示されていないアイコン(左)が表示されました。

 

名前等の情報はCMSPlugin::addPluginメソッドで設定したinitメソッドに設定しました。(初期化)

function init(){
CMSPlugin::addPluginMenu(self::PLUGIN_ID,array(
"name" => "ブログ更新つぶやきプラグイン",
"description" => "ブログからの記事投稿時に記事のタイトルとURLをTwitterでつぶやきます。",
"author" => "日本情報化農業研究所",
"url" => "http://www.n-i-agroinformatics.com",
"mail" => "soycms@soycms.net",
"version" => "1.0"
));
}

前に名前のなかったプラグインアイコンの下に名前が表示されました。

 

さらにアイコンをクリックし、詳細画面を表示することも出来ます。

 

以上で、

プラグインの登録まで終了しました。

 

次は管理画面の機能を追加です。