プラグイン内で利用できるメソッド (PTPluginクラスのメソッド)

PowerCMS Xのプラグインは、class.PTPlugin.php (PTPluginクラス) を継承したクラスとして作成します。ですので、PTPluginクラスで定義されている (public または protected) メソッドがそのまま利用できるようになっています。

<?php
require_once( LIB_DIR . 'Prototype' . DS . 'class.PTPlugin.php' );
class MyFirstPlugin extends PTPlugin {
    function __construct () {
        parent::__construct();
    }
}
version ()

プラグインのバージョンを返します。

$version = $this->version();
path ()

プラグインのパスを返します。

$this->path();
# /var/www/PowerCMSX/plugins/TinyMCE
set_language ( $language )

言語をセットします。通常は呼ぶ必要はありません。

$this->set_language( 'ja' );
translate ( $phrase, $params = '', $lang = null )

プラグインの言語ファイル(JSON)で定義された翻訳マップに従ってテキストを翻訳します。パラメタが複数ある場合は第2引数 $params を配列にします。

$message = $this->translate( "The Tag '%s' already exists.", 'Entries' );
// 「Entries」というタグはすでに存在します。
get_config_value ( $key, $workspace_id = 0, $inheritance = false )

プラグイン設定を取得します。第1引数はキー、第2引数はスコープのID、第3引数を指定すると、そのスペースの設定値がない時に限りシステムスコープのプラグイン設定の値を返します。

$bgcolor = $this->get_config_value( 'simplifiedjapanese_bgcolor', $workspace_id );
set_config_value ( $key, $value, $workspace_id )

プラグイン設定を保存します。第1引数はキー、第2引数が値、第3引数はスコープのIDです。

$this->set_config_value( 'simplifiedjapanese_bgcolor', '#FFFFFF', $workspace_id );
add_template_vars ( $key, $value )

指定したキーのテンプレート変数に対応する値に値を追加します。キーが存在しないときは新たにセットします。

$this->add_template_vars( 'add_edit_action_bar', $button_html );
edit_mime_type ()

オブジェクトの作成・編集画面で呼び出した時に優先 URLマップの MIMEタイプを返します。

$mime_type = $this->edit_mime_type();
set_cache ( $key, $value )

プラグイン独自のキャッシュをセットします。サポートディレクトリ以下にファイルで生成されます。

$this->set_cache( $key, $value );
get_cache ( $key )

プラグイン独自のキャッシュを取得します。

$value = $this->get_cache( $key );
flush_cache ( $key, $expires = null )

プラグイン独自のキャッシュを破棄します(ver.3.02以降)。nullまたはディレクトリのパスを渡すと、ディレクトリ以下のファイルを削除します。第2引数 $expires に数値を渡すと、指定秒以前に作成されたキャッシュのみを削除します。

$value = $this->flush_cache( $key );
log ( $message, $level = 'info', $metadata = [], $workspace_id = 0 )
ログを保存します。Worker実行時にはあわせて標準出力にメッセージを表示します。
$value = $this->clear_cache( $key );

利用できないメソッド

実際はpublicメソッドなので呼ぶこと自体はできますが、管理画面などでのプラグイン管理用のメソッドは指定できないと考えていただいてよいかと思います。以下のものがあります。

  • manage_plugins
  • upgrade_plugin_check
  • view_plugin_doc