Новости Joomla

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

При отображении форм компонента в админке раньше разработчикам нужно было описывать скрытые поля в лейаутах. И выглядело это так:

<?php // Это файл в /layouts/components/com_component/your_layout.php ?> <input type="hidden" name="task" value=""> <input type="hidden" name="return" value="<?php echo $input->getBase64('return'); ?>"> <input type="hidden" name="forcedLanguage" value="<?php echo $input->get('forcedLanguage', '', 'cmd'); ?>"> <?php echo HTMLHelper::_('form.token'); ?>

Начиная с Joomla 5.3 добавлен новый способ добавления таких полей (их называют control fields) - программно. И теперь это можно сделать просто в Controller / View.

<?php // В Controller/View добавляем поля $this->form ->addControlField('task', '') ->addControlField('return', $input->getBase64('return', '')) ->addControlField('forcedLanguage', $forcedLanguage);

А в layout'е просто используем метод

renderControlFields()

<?php // В layout формы echo $this->form->renderControlFields();

Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г.

Смотреть Pull Request

0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 1511 Просмотров
*

milana

  • Новичок
  • 5
  • 0 / 0
Здравствуйте!
Помогите, пожалуйста, устала разбираться.
Ни в одном из установленных компонентов не выводятся уведомления.
Например, в компоненте "Контакты"
Код
$msg = JText::_( 'Thank you for your e-mail');
$link = JRoute::_('index.php?option=com_contact&view=contact&id='.$contact->slug.'&catid='.$contact->catslug, false);
$this->setRedirect ($link, $msg);

Никакого Thank you for your e-mail не появляется, только редирект по указанной ссылке
*

SmokerMan

  • Гуру
  • 5291
  • 720 / 26
в шаблон вставить
Код
<jdoc:include type="message" />
*

milana

  • Новичок
  • 5
  • 0 / 0
SmokerMan, спасибо огромное за оперативность!
Всё заработало!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перестали приходить уведомления о заказах /подтверждение заказов

Автор lizaveta

Ответов: 1
Просмотров: 1517
Последний ответ 14.04.2014, 08:47:36
от kik84
mod_search, результаты выводятся вместе со всеми модулями на главной...(

Автор tonal

Ответов: 5
Просмотров: 2610
Последний ответ 18.12.2013, 14:46:01
от Ayzel
Изменение текста сообщения, отправленного через форму контакта

Автор smirnovaleks

Ответов: 4
Просмотров: 2991
Последний ответ 04.04.2013, 08:17:35
от alexKll
Дублирует системные сообщения

Автор leha---83

Ответов: 7
Просмотров: 2016
Последний ответ 21.11.2012, 12:24:05
от leha---83
Как посмотреть личные сообщения пользователей в uddeIM?

Автор forward

Ответов: 13
Просмотров: 2863
Последний ответ 02.10.2012, 16:01:37
от PlsHelp