我有一个问题,我的自定义组件和模块。在XML格式中,我创建了这个字段
<field name="bio" type="editor" height="250" label="Biography"
description="Intro To The Artist" buttons="true" />
现在数据正确地从DB加载。我在视图$this->form->getInput('bio');
中输出Wyswig编辑器和使用此代码的正确html然而,当我保存时,表单。所有内容都按预期保存,除了所有HTML被删除。
我不知道这通常发生在哪里,即使我将XML添加到模块(模块通常负责所有呈现)。所有显示都很好,但是HTML被剥离了。
Joomla wiki似乎不完整,我找不到关于如何解决这个问题的有用信息
谢谢
解决方案是在google群组中找到的。我需要将filter="safehtml"
添加到
<field name="bio" type="editor" height="250" label="Biography" filter="safehtml"
description="Intro To The Artist" buttons="true" />
我相信这是Joomla 1.6特有的,另外一个设置可能是filter="raw"
为了保留HTML,必须添加JREQUEST_ALLOWRAW参数。
http://docs.joomla.org/How_to_use_the_editor_in_a_component要获取HTML表单post数据,您需要通过以下方式获取这些数据
$data = JRequest::getVar( 'editorName', 'defaultValue', 'post', 'string', JREQUEST_ALLOWRAW );
并且需要为视图(tmpl文件)添加javascript
function submitbutton(action) {
var form = document.adminForm;
switch(action)
{
case 'save':
case 'apply':
<?php
$editor =& JFactory::getEditor();
echo $editor->save( 'editorName' );
?>
default:
submitform( action );
}
}