Пользовательские модули / компоненты не могут сохранять HTML - PullRequest
2 голосов
/ 25 апреля 2011

У меня проблема с моими пользовательскими компонентами и модулями. В форме XML я создал это поле

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

Теперь данные корректно загружаются из БД. Я выведу редактор Wyswig и правильный HTML-код с этим кодом в представлении $this->form->getInput('bio'); Однако, когда я сохраняю форму. все сохранено, как и ожидалось, кроме, все HTML удаляется.

Я не знаю, где это обычно происходит, даже когда я добавляю XML в модуль (модуль обычно заботится обо всем рендеринге). Все отображается нормально, но HTML-код удален.

Вики Joomla, кажется, не завершены, и я не могу найти полезную информацию о том, как решить эту проблему.

Спасибо

Ответы [ 3 ]

10 голосов
/ 28 апреля 2011

Решение было найдено в группах 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"

1 голос
/ 26 апреля 2011

Чтобы получить данные постов в форме 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 );
  }
 } 
1 голос
/ 26 апреля 2011

Вы должны добавить параметр JREQUEST_ALLOWRAW, чтобы сохранить HTML.

http://docs.joomla.org/How_to_use_the_editor_in_a_component

...