WordPressとかであるあのリッチテキストエディタ(TinyMCE)をSugarCRMで実装するサンプルを紹介する。
このTinMCEはEmailTemplatesモジュールでは有効化されているが、これを自分らで作ったフィールドでも有効化するというのが今回のネタ。
EditViewで有効化
Sugarでは簡単にTinyMCEを使えるように、さりげなくクラスが作られているのでそれを使う。view.edit.php
のpreDisplay
に以下のように書く。
|
SugarTinyMCE::getInstance()
には、有効化したいフィールド名を引数として渡す。
JavaScriptやらが返されるのでそのままSmartyにassignする。
editviewdefsで受け取る
assignした$tinyHtml
をフィールドのHTMLとして使うようにする。editviewdefs.php
の有効したいフィールド(この例でいくとtinymce_field)のカスタムコードに{$tiny}
を足して、assignした内容を受け取れるようにする。
こんだけで有効化できる。簡単!
XSSに気をつけて!
このまま実装すると
<script>console.log(document.cookie);</script> |
とかできちゃうのでXSSには十分注意されたし。