Новости 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 Гость просматривают эту тему.
  • 0 Ответов
  • 1399 Просмотров
*

Team

  • Новичок
  • 2
  • 0 / 0
Есть такая задача:
Флешка на сайте, во флешке 3 кнопки,
каждая из кнопок должна вызывать свой отдельный PopUP,
при этом в каждом PopUp'е должна содержаться определенная статья из Joomla...
Я вижу решение таким:
PopUp надо вызывать url-запросом, который внутрь флешки вставить на каждую из кнопок...
Проблема одна - нигде не могу найти ни модуля, ни решения для данного вопроса...
Возможно кто-то сталкивался?  !

А может у кого то есть другое видение решения проблемы?
« Последнее редактирование: 23.12.2011, 14:11:39 от Team »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться