我正在开发一个自定义 joomla 组件。我想在我的一个组件视图中添加一个 joomla 编辑器字段。我知道如何使用 XML 表单文件 (models/forms/myview.xml) 添加编辑器,但我想在视图文件 (myview/tmpl/default.php) 中执行相同操作,而不使用 xml 文件字段。可能吗 ?如果是那怎么办?
请帮忙
我正在开发一个自定义 joomla 组件。我想在我的一个组件视图中添加一个 joomla 编辑器字段。我知道如何使用 XML 表单文件 (models/forms/myview.xml) 添加编辑器,但我想在视图文件 (myview/tmpl/default.php) 中执行相同操作,而不使用 xml 文件字段。可能吗 ?如果是那怎么办?
请帮忙
我知道这是一个老问题,但对于它的价值,我想我会展示如何在全局设置中而不是由用户设置默认编辑器。通常,用户没有设置默认编辑器,返回的值是“JEditor”,这将导致编辑器根本无法加载。如果您愿意,可以将两者结合在一起首先检查用户编辑器,然后如果值为 JEditor,则回退到全局编辑器。
这是一个例子:
// IMPORT EDITOR CLASS
jimport( 'joomla.html.editor' );
// GET EDITOR SELECTED IN GLOBAL SETTINGS
$config = JFactory::getConfig();
$global_editor = $config->get( 'editor' );
// GET USER'S DEFAULT EDITOR
$user_editor = JFactory::getUser()->getParam("editor");
if($user_editor && $user_editor !== 'JEditor') {
$selected_editor = $user_editor;
} else {
$selected_editor = $global_editor;
}
// INSTANTIATE THE EDITOR
$editor = JEditor::getInstance($selected_editor);
// SET EDITOR PARAMS
$params = array( 'smilies'=> '0' ,
'style' => '1' ,
'layer' => '0' ,
'table' => '0' ,
'clear_entities'=>'0'
);
// DISPLAY THE EDITOR (name, html, width, height, columns, rows, bottom buttons, id, asset, author, params)
echo $editor->display('email', '', '400', '400', '20', '20', true, null, null, null, $params);
尝试这个,
$editor = JFactory::getEditor();
echo $editor->display('content', $this->content, '550', '400', '60', '20', false);
更多_
在最新的 Joomla 版本J3.x [更新]
你可以使用类似下面的东西,
jimport( 'joomla.html.editor' );
$editor = JEditor::getInstance(JFactory::getUser()->getParam("editor"));
echo $editor->display('content', $this->content, '550', '400', '60', '20', false);
Joomla 3.x
$editor = JFactory::getEditor();
$editor = $editor->display('mce', $yourContent, '550', '400', '60', '20', false);