Новости 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 Ответов
  • 884 Просмотров
*

tm2010

  • Захожу иногда
  • 76
  • 0 / 0
Уважаемые монстры, помогите разобраться
стандартно есть get(Items) который запускает в модели GetListquery который из таблицы берет все что мне нужно
создал другой layout и хочу получить другой набор items на другом sql запросе из той же таблицы но на основании каких то мне известных во view.html.php переменных, как грамотно 
их передать в мой getListQuery и как в getListQuery определить что мне нужен другой набор данных на этом layout
видимо я спрашиваю банальную вещь, но не модель же новую делать для такого случая
Спасибо
*

tm2010

  • Захожу иногда
  • 76
  • 0 / 0
Пока писал вопрос, осенило и проверил
layout есть в jinput->data в модели
а параметры можно передать setState
желание побеседовать с гуру, устаканивает мысли, при формулировке вопроса
Спасибо, кажется так можно сделать
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
желание побеседовать с гуру, устаканивает мысли, при формулировке вопроса
И это правильно, приятно же поговорить с умным человеком (с собой).
data в модели это наше все
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Возврат из child view в родительский вид (который может быть разный)

Автор tm2010

Ответов: 1
Просмотров: 625
Последний ответ 29.02.2020, 22:37:58
от b2z
Pagination компонента и данные из формы модуля

Автор platonische

Ответов: 4
Просмотров: 904
Последний ответ 29.01.2020, 11:32:43
от mardok
Изменение header или html который уже сформирован во view на php

Автор tm2010

Ответов: 5
Просмотров: 695
Последний ответ 30.08.2019, 10:59:16
от sivers
создание новой записи во view компонента

Автор tm2010

Ответов: 29
Просмотров: 2147
Последний ответ 26.12.2017, 15:00:14
от Aleks.Denezh
Как получить значение языковой константы в js?

Автор borro

Ответов: 10
Просмотров: 1207
Последний ответ 05.10.2017, 11:43:42
от robert