如何在自定义组件视图中添加joomla编辑器但不使用XML表单字段?

时间:2013-09-28 07:51:08

标签: joomla

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

请帮忙

3 个答案:

答案 0 :(得分:6)

我知道这是一个古老的问题,但是我认为我将展示如何在全局设置而不是用户中获取默认编辑器设置。用户通常没有默认的编辑器设置,并且返回的值是“JEditor”#39; 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);

答案 1 :(得分:4)

试试这个,

     $editor = JFactory::getEditor();
     echo $editor->display('content', $this->content, '550', '400', '60', '20', false);

more

最新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);

for more

答案 2 :(得分:0)

Joomla 3.x

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

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