PowerCMSの記事の編集画面におけるTinyMCE設定の高度な設定と管理画面カスタマイズ設定の出力順番

投稿日: 更新日:

なんかよくハマるのでメモ。

例として、記事の編集画面におけるリッチテキストエディタのツールボタンについて、スペース毎にボタン構成を違うものにしたい場合を考える。

実装として、システムレベルのPowerCMS設定画面にて、次のように設定してみる。

TinyMCE 設定>高度な設定:

if (blog_id == 5){
      tinymce_editor.init.theme_advanced_buttons1 = '';
}

管理画面カスタマイズ設定:

<MTCMSContext>
<mt:blogid setvar="id__blog" />
</MTCMSContext>
<script>
var blog_id = <mt:var name="id__blog" />;
</script>

意図として、管理画面カスタマイズ設定の方でJSの変数に開いている記事の編集画面の所属スペースIDを取得して、スペースID5なら指定のツールボタンの表示設定を適用する、というもの。

結果、JSエラーとなり動いてくれない。

原因としては、「高度な設定」と「管理画面カスタマイズ設定」のそれぞれに入力したコードの出力される順番になる。
係る順番として、次の通りだった。

[TinyMCE設定>高度な設定]

[システムレベル)>管理画面カスタマイズ設定]

[ワークスペース/スペースレベル)管理画面カスタマイズ設定]

なので、前述の変数のblog_idの定義は、「高度な設定」のコードより上に来ないといけない。

この場合、考えうる手段としては、alt-tmplもしくはCMSプラグインによるカスタマイズが考えられる。

関連するタグ

PowerCMS, TinyMCE, 管理画面カスタマイズ設定, 高度な設定