自定义模块/组件无法保存HTML

时间:2011-04-25 19:00:37

标签: joomla joomla1.6

我有自定义组件和模块的问题。在格式XML中我创建了这个字段

<field name="bio" type="editor" height="250" label="Biography"
            description="Intro To The Artist"  buttons="true" />

现在数据从数据库中正确加载。 我在视图$this->form->getInput('bio');中使用此代码输出Wyswig编辑器和正确的html 但是当我保存时,表格。一切都按预期保存,除了,所有的html都被删除了。

我不知道这通常发生在哪里,即使我将XML添加到模块中(模块通常会处理所有渲染)。所有显示都很好,但HTML被剥离了。

Joomla wiki似乎不完整,我找不到有关如何解决此问题的有用信息。

由于

3 个答案:

答案 0 :(得分:10)

在谷歌群组中找到了解决方案。我需要将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"

答案 1 :(得分:1)

您必须添加JREQUEST_ALLOWRAW参数才能保留HTML。

http://docs.joomla.org/How_to_use_the_editor_in_a_component

答案 2 :(得分:1)

要获取HTML表单发布数据,您需要以下列方式获取此数据

$data = JRequest::getVar( 'editorName', 'defaultValue', 'post', 'string', JREQUEST_ALLOWRAW );

需要为视图添加javascript(tmpl文件)

function submitbutton(action) {
  var form = document.adminForm;
  switch(action)
  {
  case 'save':
  case 'apply':   
   <?php
                 $editor =& JFactory::getEditor();
                 echo $editor->save( 'editorName' );
         ?>
  default:
   submitform( action );
  }
 }