Новости 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

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

Новая итерация компонента продолжает развиваться, ведь с v.4.x компонент был переписан практически с нуля.

v.4.1.0. Что нового?

Редактирование метаданных изображений. Теперь метаданные можно не только читать, но и напрямую редактировать и записывать обратно в изображение JPG. Поддерживаются данные EXIF ​​и IPTC.

Полная совместимость с Joomla! 4.x, 5.x и 6.x. Компонент почистили от устаревших методов в коде.

Заметно ускорили загрузку больших галерей. Списки в админке, особенно для очень больших галерей ( >30 000 изображений), теперь загружаются значительно быстрее.

Несколько сеток lightGallery на одной странице. Будь то плагины контента или модули изображений: теперь вы можете отображать несколько галерей или категорий на одной странице без каких-либо ограничений.

Множество мелких исправлений ошибок и оптимизаций.

Сайт проекта

GitHub расширения

Скачать

0 Пользователей и 1 Гость просматривают эту тему.
  • 15 Ответов
  • 1656 Просмотров
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
Собственно, вот такой смешной вопрос. Думаю, подойдет <?php echo $title; ?>, только вместо $title нужно подставить переменную, в которой хранится название каталога, то есть - ?
*

likrion

  • Давно я тут
  • 750
  • 129 / 2
Код: php
<?php echo $this->application->name; ?>
R331474010295
*

MetaSpirit

  • Завсегдатай
  • 1370
  • 106 / 0
  • R.A.S.Lab[.org]
На странице айтема (item.php) лучше выводить следующей конструкцией:
Код: php
<?php echo $this->item->getApplication()->name; ?>
В предыдущем топике код тоже правильный только для frontpage.php
« Последнее редактирование: 28.10.2013, 18:47:38 от MetaSpirit »
R.A.S.Lab[.org]: ZOOvirtue - корзина для ZOO, Яндекс.Карты для ZOO, ItemPanes - табы для ZOO, ZOOlendar - календарь для ZOO  и др.
Создание расширений для YOOtheme ZOO на заказ. Становитесь в очередь.
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
Цитировать
На странице айтема (item.php) лучше выводить следующей конструкцией:
Код
<?php echo $this->getApplication()->name; ?>
 
В предыдущем топике код тоже правильный только для frontpage.php

Конструкция убирает всю верстку после неё. Где-то ошибка.

P.S. Fatal error: Call to undefined method ItemRenderer::getApplication() in .....\templates\7universum\renderer\item\full.php on line 26
Да, использую JBZoo - не в этом дело?
« Последнее редактирование: 28.10.2013, 18:44:44 от kapitansen »
*

MetaSpirit

  • Завсегдатай
  • 1370
  • 106 / 0
  • R.A.S.Lab[.org]
исправил в предыдущем топике
R.A.S.Lab[.org]: ZOOvirtue - корзина для ZOO, Яндекс.Карты для ZOO, ItemPanes - табы для ZOO, ZOOlendar - календарь для ZOO  и др.
Создание расширений для YOOtheme ZOO на заказ. Становитесь в очередь.
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
Увы:
Notice: Undefined property: ItemRenderer::$item in .....\media\zoo\applications\jbuniversal\templates\7universum\renderer\item\full.php on line 26
Fatal error: Call to a member function getApplication() on a non-object in .....\media\zoo\applications\jbuniversal\templates\7universum\renderer\item\full.php on line 26
*

MetaSpirit

  • Завсегдатай
  • 1370
  • 106 / 0
  • R.A.S.Lab[.org]
код куда вставляете?
R.A.S.Lab[.org]: ZOOvirtue - корзина для ZOO, Яндекс.Карты для ZOO, ItemPanes - табы для ZOO, ZOOlendar - календарь для ZOO  и др.
Создание расширений для YOOtheme ZOO на заказ. Становитесь в очередь.
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
media\zoo\applications\jbuniversal\templates\7universum\renderer\item\full.php
*

MetaSpirit

  • Завсегдатай
  • 1370
  • 106 / 0
  • R.A.S.Lab[.org]
а надо сюда applications/blog/templates/warp6/item.php
в JBZoo посмотрите по аналогии
если применительно к renderer\item\full.php, то немного нужно модифицировать:
Код: php
<?php echo $item->getApplication()->name; ?>
R.A.S.Lab[.org]: ZOOvirtue - корзина для ZOO, Яндекс.Карты для ZOO, ItemPanes - табы для ZOO, ZOOlendar - календарь для ZOO  и др.
Создание расширений для YOOtheme ZOO на заказ. Становитесь в очередь.
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
Нужно было именно в full.php, там собирается моя страница. Последний вариант сработал. Спасибо!
*

likrion

  • Давно я тут
  • 750
  • 129 / 2
Код: php
<?php echo $this->application->name; ?>

работает в media/zoo/applications/ПРИЛОЖЕНИЕ/templates/default/item.php



Код: php
<?php echo $item->getApplication()->name; ?>

работает в рендерных шаблонах итема

в папке media/zoo/applications/ПРИЛОЖЕНИЕ/templates/default/renderer/item/




R331474010295
*

MetaSpirit

  • Завсегдатай
  • 1370
  • 106 / 0
  • R.A.S.Lab[.org]
Код: php
<?php echo $this->application->name; ?>
работает в media/zoo/applications/ПРИЛОЖЕНИЕ/templates/default/item.php

Присмотрелся, согласен, работает. Беру свои слова назад насчет данной конструкции только для для frontpage.php
R.A.S.Lab[.org]: ZOOvirtue - корзина для ZOO, Яндекс.Карты для ZOO, ItemPanes - табы для ZOO, ZOOlendar - календарь для ZOO  и др.
Создание расширений для YOOtheme ZOO на заказ. Становитесь в очередь.
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
Дополню вопрос: как вывести в modules\mod_jbzoo_search\renderer\item\table.php алиас приложения?

пытался сделать так: в media\zoo\applications\jbuniversal\application.xml добавил в <params group="application-config"> параметр <param name="applicationlink" type="text" label="Link"/> и выводил <?php echo $this->application->getParams()->get('config.applicationlink'); ?> - не срабатывает
*

likrion

  • Давно я тут
  • 750
  • 129 / 2
вроде бы по таким вопросам уже есть ответы на форуме поддержки приложения.....наверное...
R331474010295
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
вроде бы по таким вопросам уже есть ответы на форуме поддержки приложения.....наверное...
Наверное, я им уже написал и ответа не получил. Вернее, получил, но нерабочий.
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
Ответы получил, если у кого похожие проблемы - обращайтесь.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Где настраивается вывод колиства товара на странице?

Автор Lopes-popes

Ответов: 1
Просмотров: 3168
Последний ответ 09.08.2019, 00:12:54
от Lopes-popes
Вывод материала категории

Автор face2005

Ответов: 0
Просмотров: 3259
Последний ответ 28.09.2018, 18:26:52
от face2005
Вывод в ZOO description материалов по формуле "название+статическое описание"

Автор saschka

Ответов: 0
Просмотров: 3754
Последний ответ 24.04.2017, 14:41:48
от saschka
Вывод материалов одного пользователя

Автор 310

Ответов: 0
Просмотров: 1787
Последний ответ 27.03.2017, 17:53:20
от 310
Вывод полей в ZOO по образцу (помощь или сделать на заказ за вознаграждение)

Автор saschka

Ответов: 2
Просмотров: 1972
Последний ответ 12.01.2017, 17:27:18
от saschka