SOY CMS / SOY Shop

ブログトップ

プラグイン開発についてその4

2008年06月04日

プラグイン開発その4 イベント

SOYCMSのプラグインでは「エントリーが保存された」、などのタイミングで処理を行うことが可能となっております。
イベントは多数用意されていますがここでは一部を解説します。

続きを読む


プラグインが有効に設定された(onActive)


DBにカラムを追加するなど、プラグインを使用するタイミングで実行したい処理があるとします。

その場合はonActiveイベントに処理を設定します。
if(CMSPlugin::activeCheck($this->getId())){
...

//有効でない時のみonActiveイベントに設定
}else{
CMSPlugin::setEvent('onActive',$this->getId(),array($this,"createTable"));
}

function createTable(){
//テーブルを作成
}


プラグインが無効に設定された


onActiveで追加したカラムや一時ファイルを無効にしたタイミングで削除したい場合は「onDisable」イベントを使用します。

if(CMSPlugin::activeCheck($this->getId())){
...
CMSPlugin::setEvent('onActive',$this->getId(),array($this,"dropTable"));

//有効でない時のみonActiveイベントに設定
}else{
CMSPlugin::setEvent('onActive',$this->getId(),array($this,"createTable"));
}

function dropTable(){
//テーブルを削除
}