ブログトップ
プラグイン開発についてその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(){
//テーブルを削除
}