138просмотров
18 июля 2025 г.
📷 ФотоScore: 152
Новый способ добавления и рендера полей в 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 &#036;input->getBase64('return'); ?>"> <input type="hidden" name="forcedLanguage" value="<?php echo &#036;input->get('forcedLanguage', '', 'cmd'); ?>"> <?php echo HTMLHelper::_('form.token'); ?> Начиная с Joomla 5.3 добавлен новый способ добавления таких полей (их называют control fields) - программно. И теперь это можно сделать просто в Controller / View. // В Controller/View добавляем поля &#036;this->form ->addControlField('task', '') ->addControlField('return', &#036;input->getBase64('return', '')) ->addControlField('forcedLanguage', &#036;forcedLanguage); А в layout'е просто используем метод renderControlFields() // В layout формы echo &#036;this->form->renderControlFields(); Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г. Смотреть Pull Request @joomlafeed #joomla #разработка #php
138
просмотров
1362
символов
Нет
эмодзи
Да
медиа

Другие посты @jpathru

Все посты канала →
Новый способ добавления и рендера полей в Joomla Form - мето — @jpathru | PostSniper