#joomla #joomla1.6
#joomla #joomla1.6
Вопрос:
У меня проблема с моими пользовательскими компонентами и модулями. В форме 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 get удален.
Joomla wiki кажется неполной, и я не могу найти полезную информацию о том, как решить эту проблему.
Спасибо
Ответ №1:
Решение было найдено в группах 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. Вы правы, есть фильтр «raw» для таких вещей, как javascript.. в этой статье представлены все параметры фильтрации: joomla-answers.blogspot.com/2012/07 /…
Ответ №2:
Вы должны добавить параметр JREQUEST_ALLOWRAW, чтобы сохранить HTML.
Комментарии:
1. Спасибо, я изучу это в ближайшие 24 часа и посмотрю, работает ли это
2. Извините, это не сработало с модулями и компонентами Joomla 1.6, над которыми я работал, хотя спасибо
3. Упс. Я не заметил тег 1.6. Это специально для 1.5.
4. Я также пометил его joomla general, поскольку не знал, был ли он 1.6 или general
5. Вам нужно добавить ‘raw’ для таких вещей, как javascript, для простого html предпочтительнее ‘safehtml’ joomla-answers.blogspot.com/2012/07 /…
Ответ №3:
Чтобы получить данные публикации 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 =amp; JFactory::getEditor();
echo $editor->save( 'editorName' );
?>
default:
submitform( action );
}
}
Комментарии:
1. Извините, это не сработало с модулями и компонентами Joomla 1.6, над которыми я работал, хотя спасибо