2011-07-01 9 views
1

Joomla 1.5のコンポーネントを使用して、JoomlaのJCEエディタをテキストボックスの代わりに表示するためにエディタクラスを呼び出します。このコードは、Ajaxを使用して各ステップがロードされる4つのステップ形式の一部です。最後のステップは、ユーザーが自由にテキストを書き込むことができますメッセージフィールドが含まれていると私は、次のコード使用して、これを呼び出しています:JoomlaのJCEエディタがAjaxでロードされたページにロードされていません

$editor =& JFactory::getEditor(); 
echo $editor->display('description', $description, '100%', '150', '40', '30'); 

このステップが表示されたら、それはテキストなどをフォーマットするために、ボタンのない単純なテキストボックスを表示します私はこれがjavascriptの問題でなければならないことを理解していますが、テキストボックスが正しくフォーマットされるための適切なコードをどのようにトリガできるかを見つけるのは苦労しています。

フィールドの外観のスクリーンショットを添付しました。 Description field loaded via Ajax

そしてここでは、Firebugのから生成されたHTMLです:

<!-- Start Editor --><label aria-visible="false" style="display:none;" for="description">description_textarea</label><textarea wrap="off" class="wfEditor source" style="width:100%;height:150px;" rows="30" cols="40" name="description" id="description"></textarea><input type="hidden" value="1" name="wf3fadc9c48cabc28750287fe69c3d08c4" id="wf_description_token"> 
<div id="editor-xtd-buttons"> 
<div class="button2-left"><div class="image"><a rel="{handler: 'iframe', size: {x: 570, y: 400}}" onclick="IeCursorFix(); return false;" href="http://localhost/ugparl/site/index.php?option=com_media&amp;view=images&amp;tmpl=component&amp;e_name=description" title="Image" class="modal-button">Image</a></div></div> 
<div class="button2-left"><div class="pagebreak"><a rel="{handler: 'iframe', size: {x: 400, y: 85}}" onclick="IeCursorFix(); return false;" href="http://localhost/ugparl/site/index.php?option=com_content&amp;task=ins_pagebreak&amp;tmpl=component&amp;e_name=description" title="Pagebreak" class="modal-button">Pagebreak</a></div></div> 
<div class="button2-left"><div class="readmore"><a rel="" onclick="insertReadmore('description');return false;" href="http://localhost/ugparl/site/#" title="Read more">Read more</a></div></div> 
</div> 
<!-- End Editor --> 

あなたが提供することができます任意の助けを事前にありがとうございます。

+0

JCEが動作しているページでjceOnLoad()を探すことができますが、同じページで複数の新しいJCEを使用する場合には修正する必要がありました – jdog

+0

返信ありがとうございますが、どちらのファイルでも、私のサイトやソースコードの – Xander

答えて

1

これはあまり解決策ではありませんが、回避策です。ページを表示する前にヘッダーをクリーニングするため、JCEによって生成されたコードは失われます。 ajaxが呼び出すページに次のコードを追加することで、JCE初期化子を起動してエディタを正しく表示できます。

$document =& JFactory::getDocument(); 
echo "<script type='text/javascript'> 
function loadJCE() {"; 
echo $document->_script["text/javascript"]; 
echo "} 
</script>"; 

次に、ロード完了機能からloadJCEを呼び出しました。

もう一度やり直すのが最善の方法ではありませんが、それは私のためのトリックでした。

+0

こんにちは、私はどこに完全な機能をロードしているのですか? –

関連する問題