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

WinSSLioN

  • Захожу иногда
  • 111
  • 1 / 0
Собственно какой файл отвечает за локализацию формы авторизации в админку? Спрашиваю потому что язык во фронт энде и бек енде установлен один, а при авторизации кнопки и надписи на другом.. Почему это происходит?
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Значит в настройках модуля Login панели управления установлен другой язык.
*

WinSSLioN

  • Захожу иногда
  • 111
  • 1 / 0
Там установка "Все языки"
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Где там? Вот почти уверен, что смотрели модуль Login Form фронтенда, а не Login админки.
*

WinSSLioN

  • Захожу иногда
  • 111
  • 1 / 0
Нет, переключил конечно на модули админки. Спасибо, но уже сделал. Проблема в другом..
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
А решение для других форумчан, испытывающих похожую с вашей проблему?
Вы приходили сюда за бесплатными ответами, внесите тоже свой вклад.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

WinSSLioN

  • Захожу иногда
  • 111
  • 1 / 0
Я бы сказал..это собственная не внимательность, я не внимательно посмотрел на то включен ли в бэк енде тот язык который мне нужен.. Следственно и проблема.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться