このエントリと同じことをやってみようというか、別の方向から試そうと思っていて、 Clips というRedactorのプラグインも試してみた。

Plugins / Clips
https://imperavi.com/redactor/...

Redactorプラグインのインストール

ダウンロードしたプラグインを

config/redactor/clips/

という感じでおく

Redactorの設定を追加する

Redactor の設定ファイルに

"buttons": ["html","formatting", "bold", "italic", "unorderedlist", "orderedlist", "line","link", "image", "video","table","clips"],
  "plugins": ["fullscreen", "table","video","clips"],

こんな感じで、plugins に追記しつつ、ボタンも表示されるように clips を追加する。


追加するボタンを設定する

その上で何を表示するかを追加する。

"clips": [
    ["Red label", "<b class='label-red'>Label</b>"],["blue label", "<strong>blue Label</strong>"]

Standard.json はこんな感じになる

{
  "buttons": ["html","formatting", "bold", "italic", "unorderedlist", "orderedlist", "line","link", "image", "video","table","clips"],
  "plugins": ["fullscreen", "table","video","clips","definedlinks"],
  "linkNewTab": true,
  "toolbarFixed": true,
  "imageResizable": true,
  "imagePosition": true,
  "definedlinks": "/defined-links.json",
  "clips": [
    ["Red label", "<b class='label-red'>Label</b>"],["blue label", "<strong>blue Label</strong>"]
  ]
}

ボタンを押すとこんな感じで追加される。

挿入されたコードはこんな感じ

サンプル

Label

blue Label

コード

<p><b class="label-red">Label</b></p>
<p><strong>blue Label</strong></p>

最初配列のところの渡し方とかよくわかってなかった(そもそものJS力不足)

これならMTの定型文とかにあたるようなものというか、雛形も入れられるんじゃ!?とか思ったけどなんか長いコードはうまいこと動かなかった。

とはいえ、それならMatrixなんだしブロックを作った方がはやいな、ということでそこで終了。

Definedlinks みたいに JSON 用意して追加するみたいなことができなさそうなので、同じようなことをやるなら Definedlinks の方が良さそう、ということで。

Variable という Plugin もある

似たようなプラグインだと Redactor の Variable を使う方法もありそう

Plugins / Variable
https://imperavi.com/redactor/...

Craft CMS のプラグインとしては 

Rich Variables
https://plugins.craftcms.com/r...

も近そうなのだけどグローバルにタグをだすとかどうするんだろうな?ってことで触ってはいない。