Craft CMS の「リッチテキスト」フィールドで日本語の入力や変換ができなくなったら

これは Craft CMS Advent Calendar 2017 4日目の記事です。

Craft CMS では入力フィールドを細かく用意できることもあり、 リッチテキスト フィールドが必須ではありません。
そのため、状況によっては遭遇することなく平穏な日々を過ごせるかもしれませんが、実は特定のバージョンから リッチテキスト フィールドに入力した日本語を変換しようとすると変換候補がすぐに消えてしまい、さらに入力した文字自体も消えてしまう不具合があることが判りました。

日本語環境では、かなりクリティカルですね w

そこで、今回は備忘録を兼ねて回避方法をご紹介します。

そもそもの原因は?

Craft CMS 2.6.2992 でアップデートされた Redactor 2.11 が原因です。

Changelog | Craft CMS
https://craftcms.com/changelog#2-6-2992

配布元のオンラインデモで日本語入力しても、同様の不具合が発生していることを確認できました。

Redactor WYSIWYG html editor
https://imperavi.com/redactor/

Redactor 2.7 に差し替える

問題が発生しない最新バージョンである Craft CMS 2.6.2991 を下記 URL から入手します。

Craft CMS 2.6.2991 のダウンロード
https://download.craftcdn.com/craft/2.6/2.6.2991/Craft-2.6.2991.zip

次に、展開後の craft/app/resources/lib/redactor でサーバー上の同階層にあるディレクトリを上書きすれば完了です。

「リッチエディタ」フィールドが含まれる編集画面に移動し、日本語入力に問題がないか確認してください。

余談

CMS 本体に含まれるディレクトリを旧バージョンに差し替えて回避するため、アップデートする度に調整が必要な点に注意しましょう。

なお、Craft 3 の RC1 以降はリッチテキストのエディタとして CKEditor 5 が選択できるようになります。
オンラインデモで試したところ日本語入力に問題はなさそうですので、切り替えてしまっても良いかもしれませんね。

CKEditor 5 Developer Preview (v1.0.0-alpha.2)
https://ckeditor5.github.io/