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

bos$

  • Захожу иногда
  • 77
  • 2 / 0
Здравствуйте.
Необходимо увеличить количество выпадающих строк со 100 до 500 и 1000, какой файл нужно править?
Во вложении картинка, чтобы было ясно.
Очень нужная фича.
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
А конкретнее, где этот селект?
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

bos$

  • Захожу иногда
  • 77
  • 2 / 0
Да забыл уточнить, компонент ZOO - это список товаров.
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Тогда не подскажу, не работаю с ZOO.
Но можете попробовать поиском по файлам с помощью Total Commander найти его :)
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

bos$

  • Захожу иногда
  • 77
  • 2 / 0
А по какому слову искать?
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
f12 в Chrome, смотрите id элемента например и ищите.
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

bos$

  • Захожу иногда
  • 77
  • 2 / 0
Нашел решение для ZOO каталога:
Файл - \libraries\cms\pagination\pagination.php
Добавляем содержимое в файл:
Код
$limits[] = JHtml::_('select.option', '50', JText::_('J50'));
$limits[] = JHtml::_('select.option', '100', JText::_('J100'));
$limits[] = JHtml::_('select.option', '500', JText::_('500'));
$limits[] = JHtml::_('select.option', '1000', JText::_('1000'));
$limits[] = JHtml::_('select.option', '2000', JText::_('2000'));
$limits[] = JHtml::_('select.option', '3000', JText::_('3000'));
$limits[] = JHtml::_('select.option', '0', JText::_('JALL'));
Получается такая красота:
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Элементы списка отображаются с отступом на frontpage в Business Directory

Автор vasmed

Ответов: 0
Просмотров: 2593
Последний ответ 30.03.2018, 11:00:39
от vasmed
Проблема с пагинацией списка товаров ZOO

Автор dasisgood

Ответов: 0
Просмотров: 2520
Последний ответ 21.03.2018, 13:09:24
от dasisgood