コンポーネントにtinymceファイルを追加する必要はありません。テンプレートに、次の行を追加します。
$value = 'your desired text content';
$editor = JFactory::getEditor();
echo $editor->display('editorName', $value, '550', '400', '60', '20', false);
削除せずに入力からテキストを取得するには、次のいずれかを使用します。
$postData = JRequest::get('POST', JREQUEST_NOTRIM | JREQUEST_ALLOWRAW);
$text = $postData['editorName'];
また
$text = JRequest::getVar( 'editorName', 'defaultValue', 'post', 'string', JREQUEST_ALLOWRAW );
または、1.6以降、上記のメソッドは非推奨になっているようです(以下のコードのソースも参照してください)。新しいメソッドは次のようになります。
$jinput = JFactory::getApplication()->input;
// Then use JInput's get() method with the filter you need:
$description = $jinput->get('editorName', 'defaultValue', 'HTML');
私のコードでは、フォームを送信する直前に、JEditor::save
;も呼び出します。これが本当に必要かどうかはもうわかりません。いくつかの調査の結果、私はそれの使用法を実際には見つけられなかったので、それがなくてもうまくいくのであれば、私はそれを省きます。
似たような質問(例:これ)とフォーラムの投稿(例:これ)がいくつかありますが、私が知る限り包括的な答えはありません。私もある時点でそれに苦労していました。そのため、私の答えはかなり長くなりました。