2

コンポーネントを作成しようとしていますが、すでにインストールされているJoomlaのTinymceエディターを追加する必要があります。そのコンポーネントで。

インターネットを調べましたが、例は見つかりませんでした。今まで私がやったことは、tinymceのjsファイルをダウンロードしてコンポーネントにインストールすることだけでした。

しかし、私はJoomlaがすでにtinymceのファイルを組み込んでいることを知っています。では、ファイルを再度ダウンロードせずに、コンポーネントコードでどのように使用できますか?

4

2 に答える 2

4

コンポーネントに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;も呼び出します。これが本当に必要かどうかはもうわかりません。いくつかの調査の結果、私はそれの使用法を実際には見つけられなかったので、それがなくてもうまくいくのであれば、私はそれを省きます。

似たような質問(例:これ)とフォーラムの投稿(例:これ)がいくつかありますが、私が知る限り包括的な答えはありません。私もある時点でそれに苦労していました。そのため、私の答えはかなり長くなりました。

于 2012-09-11T11:50:44.130 に答える
3
    $editor      =& JFactory::getEditor();
    $editor_tiny = $editor->display('product_section_table[]',$setiontable[$i] ,'95%', '550', '75', '20', false);
    echo $editor_tiny;

このコードも使用できます

于 2012-09-11T11:49:57.760 に答える