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

Ragivort

  • Завсегдатай
  • 1154
  • 58 / 2
  • Такая Life
Приветствую.
Скажите, пожалуйста, как правильно сделать другой шаблон отображения блога категории. Точнее еще один. Стандартный у меня переопределен в шаблоне. Я переименовал файлы:
blog.php
blog.xml
blog_children.php
blog_item.php
blog_links.php

На
promo.php
promo.xml
promo_children.php
promo_item.php
promo_links.php

В категории Альтернативный макет появился. promo поставил. Сам шаблон, конечно, поменял.
Создал пункт меню на эту категорию. Но отображение стандартное все равно остается. Точнее от моего переопределенного шаблона в папке.

Где что еще нужно поменять, чтобы мой второй шаблон применялся к категории?

Спасибо.

Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Создай текстовое поле в настройках пункта меню с именем layout.
Или укажи макет в настройках категории...
« Последнее редактирование: 04.10.2018, 14:55:53 от NewUsers »
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

Ragivort

  • Завсегдатай
  • 1154
  • 58 / 2
  • Такая Life
Макет в настройках категории указан, но изменений нет
По первому пункту не понял
Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
По первому пункту не понял
На странице настроек пункта меню создай текстовое поле с именем layout.
Добавить его можно с помощью события плагина onContentPrepareForm
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

Ragivort

  • Завсегдатай
  • 1154
  • 58 / 2
  • Такая Life
Разобрался. если макет есть и указан в категории. а на нее создан пункт меню, то работать не будет. Нужно сделать так, чтобы макет выбирался при создании пункта меню.
Цитировать
Альтернативный макет пункта меню

Теперь давайте рассмотрим другой вариант создания альтернативного макета с привязкой к пункту меню. Идем в директорию – /templates/ваш шаблон/html/com_content/categoty и создаем копию файла blog.xml и далее переименовываем на (в моем случае) myblog.xml. Теперь давайте откроем данный файл. В начале файла мы увидим структуру следующего вида:

<layout title="COM_CONTENT_CATEGORY_VIEW_BLOG_TITLE" option="COM_CONTENT_CATEGORY_VIEW_BLOG_OPTION">
<help key = "JHELP_MENUS_MENU_ITEM_ARTICLE_CATEGORY_BLOG" />
<message>
<![CDATA[COM_CONTENT_CATEGORY_VIEW_BLOG_DESC]]>
</message>
</layout>
Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Идем в директорию – /templates/ваш шаблон/html/com_content/categoty и создаем копию файла blog.xml и далее переименовываем на (в моем случае) myblog.xml. Теперь давайте откроем данный файл. В начале файла мы увидим структуру следующего вида:
И что это даст?
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

Ragivort

  • Завсегдатай
  • 1154
  • 58 / 2
  • Такая Life
Это дает создать тип меню - Ваш шаблон
Я сделал так:
Код
<layout title="promo" option="promo">
<help key = "JHELP_MENUS_MENU_ITEM_ARTICLE_CATEGORY_BLOG" />
<message>
<![CDATA[COM_CONTENT_CATEGORY_VIEW_BLOG_DESC]]>
</message>
</layout>

В результате:
http://prntscr.com/l24fxg

Просто так у меня шаблон не менялся, если бы создан пункт меню на категорию
Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
@Ragivort Нужен параметр layout_type

Ловите мою статью на эту тему, там и пример есть.

https://septdir.ru/blog/web/joomla-com-contrent-override.html
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
вот сколько ни смотрю на эти танцы c XML, всё кажется, что это изврат.
обычно нафиг не нужны отдельные параметры, просто макет переделать надо каскадом.
имхо, проще layout перехватывать и подменять...
*

Ragivort

  • Завсегдатай
  • 1154
  • 58 / 2
  • Такая Life
Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не удается разблокировать в менеджере материалов.

Автор vityavoluevich

Ответов: 4
Просмотров: 1404
Последний ответ 24.05.2025, 09:20:18
от azm1n
Не работает менеджер материалов, ошибка 500 SSL certificate problem

Автор Екатерина М

Ответов: 5
Просмотров: 1343
Последний ответ 06.04.2025, 09:27:20
от wishlight
Поменять порядок материалов

Автор tatyana34

Ответов: 3
Просмотров: 832
Последний ответ 11.12.2024, 16:10:41
от nikolakovach8619
Перенести описание категории вниз страницы

Автор jimka

Ответов: 1
Просмотров: 963
Последний ответ 18.07.2024, 08:02:46
от Vastriet
[Решено] Получить category description image в index.php шаблона

Автор goga_pgasovav

Ответов: 6
Просмотров: 1064
Последний ответ 12.07.2024, 17:06:14
от goga_pgasovav