2012年09月27日
管理画面をカスタマイズするためのテンプレート・タグ
PowerCMSの管理画面テンプレートはMovable Typeと同様MTML(MTタグ)で書かれています。PowerCMSでは、CMSのカスタマイズを行う際に alt-tmpl ディレクトリに配置した代替テンプレートや snippet フィールドの中で使える管理画面用のテンプレート・タグがいくつか用意されています。これらの多くはドキュメントに記載されていないため、今回この記事でいくつかご紹介します。
- MTCMSContext(ブロックタグ)
ブログ記事やウェブページ、カテゴリー等の編集画面のテンプレート内で、<MTEntryTitle>等のテンプレートタグを出力できるようにします。
- MTIfPerlModule(MTIfModule)(条件タグ)
サーバーにmoduleモディファイアで指定したPerlモジュールがインストールされている時に内容を出力します。
<MTIfPerlModule module="XML::Parser"> XML::Parserが利用可能です。 </MTIfPerlModule>
- MTIfComponent(IfPlugin)(条件タグ)
componentモディファイアで指定したプラグインが有効な場合に内容を出力します。
<MTIfComponent component="Members"> 会員サイト機能が利用可能です。 </MTIfComponent>
- MTIfPowerCMSFiles(条件タグ)
PowerCMSFilesディレクトリが存在して書き込み可能である場合に内容を出力します。
- MTIfUserCan(条件タグ)
ユーザーがpermissionモディファイアで指定した権限をもっている場合に内容を出力します。blog_idモディファイアを省略した場合、現在のブログに対して評価を行います。
<MTIfUserCan permission="can_post" blog_id="$blog_id"> ブログ記事を投稿する権限があります。 </MTIfUserCan>
- MTIfUserRole(条件タグ)
ユーザーがroleモディファイアで指定したロールに割り当てられている場合に内容を出力します。blog_idモディファイアを省略した場合、現在のブログに対して評価を行います。
<MTIfUserRole role="ライター" include_superuser="1" blog_id="$blog_id"> ロール「ライター」が割り当てられています。 </MTIfUserRole>
- MTIfCMSParam(条件タグ)
クエリーパラメタ又はPostによってnameモディファイアで指定されたパラメタが渡されている場合に内容を出力します。
- MTIfSecure(条件タグ)
管理画面がhttps環境で実行されている場合に内容を出力します。
- MTIfIE(条件タグ)
ユーザーエージェントがInternetExplorerである場合に内容を出力します。
- MTIfCMS(条件タグ)
AdminScript(mt.cgi)によってテンプレート・タグが評価されている場合に内容を出力します。MT::CMS::Comments や run-periodic-tasks によってテンプレート・タグが評価されている場合には内容は出力されません。
- MTPluginSetting(ファンクションタグ)
ユプラグイン設定の値を出力します。
<MTPluginSetting component="MultiBlog" name="rebuild_triggers" blog_id="$blog_id">
- MTPowerCMSFilesDir(ファンクションタグ)
環境変数 PowerCMSFilesDir に指定されているパスを出力します。
- MTThisURL(ファンクションタグ)
管理画面の現在のURLを出力します。
- MTPowerCMSVersion(ファンクションタグ)
PowerCMSのバージョン番号を出力します。
- MTPowerCMSEdition(ファンクションタグ)
PowerCMSのエディション名を出力します。
- MTPluginPath(ファンクションタグ)
プラグインのサーバー上のパスを返します。folderモディファイアにカンマ区切りでディレクトリを指定できます。
<MTMTPluginPath component="Campaign" folder="tmpl,include"> =>/var/www/cgi-bin/mt/plugins/Campaign/tmpl/include/
- MTTrans(ファンクションタグ)
phrase モディファイアで指定した文字列を component モディファイアで指定したプラグインの言語ファイルで translate して返します。params モディファイアで変数を指定可能です。
<MTTrans phrase='[_1] where [_2] contains [_3]' params="バナー%%タグ%%PowerCMS" component="Campaign"> =>タグがPowerCMSを含むバナー
- MTAuthorLanguage(ファンクションタグ)
アクティブなユーザーの言語設定(preferred_language)を返します。
- strip_emptylines(グローバルモディファイア)
空行を削除します。
- trimj_to(グローバルモディファイア)
日本語等のマルチバイト文字を1文字として、半角英数文字については2文字を1文字としてトリミングを行います。
- translate_templatized(グローバルモディファイア)
テキストを $app->translate_templatized した結果を返します。
コメントを投稿する