我正在尝试创建一个组件,我需要添加已安装的Joomla的Tinymce编辑器!在那个组成部分。
我在互联网上查看,但我没有找到任何例子。到目前为止,我唯一能做的就是下载tinymce的js文件并将其安装在我的组件中。
但我知道Joomla已经建立了tinymce的文件。那么如何才能在我的组件代码中使用它而无需再次下载文件?
答案 0 :(得分: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开始,上面的方法似乎已被弃用(参见here,也是以下代码的来源)新方法将是:
$jinput = JFactory::getApplication()->input;
// Then use JInput's get() method with the filter you need:
$description = $jinput->get('editorName', 'defaultValue', 'HTML');
在我的代码中,就在提交表单之前,我也打电话给JEditor::save
;我不知道这是否真的有必要;经过一些研究,我并没有真正找到它的用途,所以如果没有它就能为你效果,我会把它留下来。
有一些类似的问题(例如this one)和论坛帖子(例如this one),但据我所知,没有全面的答案,我也在努力解决这个问题,这就是为什么我的回答很长。
答案 1 :(得分:3)
$editor =& JFactory::getEditor();
$editor_tiny = $editor->display('product_section_table[]',$setiontable[$i] ,'95%', '550', '75', '20', false);
echo $editor_tiny;
您也可以使用此代码