пользовательский компонент joomla — добавить поддержку форматированного текста

#joomla #components #custom-component #rich-text-editor #joomla1.6

#joomla #Компоненты #пользовательский компонент #форматированный текстовый редактор #joomla1.6

Вопрос:

Я разрабатываю компонент cusom и хотел бы, чтобы он поддерживал форматированные текстовые поля. Возможно, так же, как это делается com_content в.

в определении формы у меня есть следующее поле:

 <field
        name="description"
        type="editor"
        label="COM_MYCOMPONENT_DESCRIPTION_LABEL"
        description="COM_MYCOMPONENT_DESCRIPTION_DESC"
        class="inputbox"
        filter="MyComponentHelper::filterText"
        buttons="true"
    />
  

Итак, в основном происходит то, что редактор отображается так, как он должен, но текст сохраняется без форматирования.
MyComponentHelper::filterText Метод был добавлен позже после изучения com_content и копирования filterText метода в мой помощник, но он не работал ни со строкой, ни без нее. Я даже пытался использовать ContentHelper::filterText , но безуспешно.

Ответ №1:

В joomla 1.5 вы должны были сделать это в модели (в функции, которая выполняет сохранение):

 $data['description'] = JRequest::getVar('description', '', 'post', 'string', JREQUEST_ALLOWRAW);

if (!$row->bind($data)) {
   ...
  

Не знаю, существует ли он до сих пор в Joomla 1.6. Надеюсь, это поможет.

Комментарии:

1. это правильный способ сделать это! Нужно использовать JREQUEST_ALLOWRAW в JRequest::getVar.

Ответ №2:

Хорошо, это была моя ошибка. Поскольку я следовал руководству MyComponenetHelper , оно закончилось как абстрактный класс. Я сделал это обычным классом, и все работает нормально.