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

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Хлебные крошки сократить
« : 28.09.2020, 13:45:49 »
Всем привет.
Никто не задавался вопросом ка можно переделать хлебные крошки что бы выводило только предыдущий уровень?
То есть если находишься в товаре показывало только категорию. Если в категории то родительскую категорию без всей вереницы родителей.
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Хлебные крошки сократить
« Ответ #1 : 28.09.2020, 17:29:15 »
Переопределить макет вывода модуля
*

sivers

  • Живу я здесь
  • 2589
  • 359 / 0
Re: Хлебные крошки сократить
« Ответ #2 : 28.09.2020, 23:25:18 »
ка можно переделать хлебные крошки что бы выводило только предыдущий уровень?
Да хоть в макете самого материала или категории. Можно и в плагине - как удобней. Принцип не сложный - подтягиваете хлебные крошки в массив, удаляете (или добавляете) лишнее и записываете массив обратно. Вот пример:
Код
    $app = JFactory::getApplication();
    // Получаем объект крошек
    $cmsPathway = $app->getPathway();
    // Из объекта берем массив - состав крошек на текущей странице
    $cmsPathwayItems = $cmsPathway->getPathway();
    // Последнюю крошку удаляем из массива
    $cmsPathwayLastItem = array_pop($cmsPathwayItems);
    // Передаем массив обратно объекту крошек
    $cmsPathway->setPathway($cmsPathwayItems);
    // Добавляем другую крошку последней (уже не через массив - это для примера)
    $cmsPathway->addItem($pname, $plink);
    // Добавляем удаленную ранее крошку
    $cmsPathway->addItem($cmsPathwayLastItem->name, $cmsPathwayLastItem->link);
В этом примере новая крошка добавляется предпоследней. Вам же надо будет оставить одну или две последних, а остальные убрать.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как привязать Хлебные крошки к товару в JoomShopping?

Автор shellydes

Ответов: 10
Просмотров: 686
Последний ответ 12.12.2020, 22:33:38
от nevigen
JoomShopping хлебные крошки

Автор o.kazmirenko

Ответов: 1
Просмотров: 752
Последний ответ 28.10.2019, 15:13:53
от nevigen
Сократить наименование товара

Автор IIIyPyII

Ответов: 6
Просмотров: 840
Последний ответ 22.09.2017, 12:29:17
от nevigen
Хлебные крошки + JoomShopping

Автор Nynuzoud

Ответов: 27
Просмотров: 3793
Последний ответ 24.08.2017, 17:29:41
от dmitry_stas
JoomShopping хлебные крошки ошибка 502

Автор dss

Ответов: 1
Просмотров: 1045
Последний ответ 27.02.2015, 12:45:11
от dmitry_stas