3

我正在开发一个自定义 joomla 组件。我想在我的一个组件视图中添加一个 joomla 编辑器字段。我知道如何使用 XML 表单文件 (models/forms/myview.xml) 添加编辑器,但我想在视图文件 (myview/tmpl/default.php) 中执行相同操作,而不使用 xml 文件字段。可能吗 ?如果是那怎么办?

请帮忙

4

3 回答 3

7

我知道这是一个老问题,但对于它的价值,我想我会展示如何在全局设置中而不是由用户设置默认编辑器。通常,用户没有设置默认编辑器,返回的值是“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);
于 2015-04-03T20:46:34.860 回答
4

尝试这个,

     $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);

更多

于 2013-09-28T07:58:54.927 回答
0

Joomla 3.x

$editor = JFactory::getEditor();
$editor = $editor->display('mce', $yourContent, '550', '400', '60', '20', false);

www.joomla-wiki.de/dokumentation/JFactory/getEditor

于 2015-10-23T13:24:13.103 回答