2011-07-01 102 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

这里是从萤火虫生成的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

嗨,我可以知道在哪里加载完整的功能? –