4

Joomla 2.5 では、以下のコードを使用してリッチ テキスト エディターを生成し、HTML を入力してデータベースに保存することができます。コードは以下です。

<?php 
$editor = & JFactory::getEditor();
$params = array('smilies'=> '0' ,'style'  => '0' ,'layer'  => '0' ,'table'  => '0' ,'clear_entities'=>'0');
echo $editor->display('description',$description  , 550, 400, 60, 20, false, $params); 
?>

しかし、Joomla 3.0 では同じコードを使用していますが、リッチ テキスト エディターでは HTML を入力できません。Article Manager リッチ テキスト エディターのエディターでは、HTML を入力できます。このエディタがそうでないのはなぜですか?

どうすればこれを修正できますか? リッチ テキスト エディターで HTML を許可するには、どの追加パラメーターを渡す必要がありますか?

4

4 に答える 4

4

JModel のヒント:

デフォルトでは、JRequest::GET はすべての HTML コードをプレーン テキストにフィルター処理することに注意してください。これは、エディターを使用する場合にはあまり役に立ちません。モデル クラス内に HTML コードを格納するには、JRequest オブジェクトから HTML コードを明示的に要求する必要があります。そうしないと、すべての HTML が削除されます。

JRequest::getVar( 'yourfieldname', '', 'post', 'string', JREQUEST_ALLOWHTML );

JREQUEST_ALLOWHTML覚えておくべき重要なポイントです。とすれば

  • JREQUEST_NOTRIM - 空白のトリミングを防ぎます
  • JREQUEST_ALLOWRAW - フィルタリングをバイパスします
  • JREQUEST_ALLOWHTML - ほとんどの HTML を許可します。これが渡されない場合、HTML はデフォルトで取り除かれます。
于 2013-03-29T10:25:12.593 に答える
2

JFactory::getEditor()廃止されました。JEditor::getInstance()12.3以降を使用する必要があります

于 2013-03-29T09:57:10.417 に答える
1

XML フォーム構造を使用している場合は、'editor' フォーム フィールド タイプを使用できます。その場合、HTML タグを許可するには、属性 " filter='safehtml' " を使用して、コンテンツを HTML タグで保存できるようにする必要があります。

例えば:

<field
                name="event_desc"
                type="editor"
                editor="tinymce"
                width="400"
                height="100"
                label="COM_YOURCOMPONENT_FIELD_LABEL"
                description="COM_YOURCOMPONENT_FIELD_DESC"
                cols="30"
                rows="5"
                class=""
                default=""
                filter="safehtml"
                />

これで時間を節約できることを願っています。:) ハッピーコーディング!

于 2014-08-22T05:46:44.340 に答える
0

Joomla 3.6 では、このエラーが発生します

未定義の定数 JREQUEST_ALLOWHTML の使用 - 「JREQUEST_ALLOWHTML」を想定。

Joomlaでhtml形式のテキストを取得する最良の方法は次のとおりであるという結論に達しました。

$html = JComponentHelper::filterText(JFactory::getApplication()->input->post->get($var_name, $default_value, 'raw'));

お役に立てれば

于 2016-07-29T08:43:09.380 に答える