Новости Joomla

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Подходы, описанные в статье, полезны в тех случаях, когда вы работаете с данными в com_fields - механизме создания и редактирования пользовательских полей ядра Joomla и при использовании FieldsHelper. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

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

Доброе время суток.
Никак не пойму как сделать.
Как получить в компоненте значение переменной из модуля?
Написал модуль навигации по видеокатегориям, который отображает список категорий и количество позиций, найденных в данной категории. Как мне передать эти параметры (выбранную категорию и кол-во элементов в ней) в самописанный компонент, который уже подробно показывает найденное в этой категории? Не хочу делать второй запрос из компонента, чтобы не повышать зазря нагрузку на базу данных, ведь компонент "уже в курсе".
« Последнее редактирование: 03.03.2006, 04:30:14 от kamud »

я не совсем понял, что нужно, но можно двумя путями (в зависимости от того что нужно):
1) передать методом Get в ссылке]
2) в модуле и компоненте при определении переменной использовать не $blabla a $GLOBALS['blabla']

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

С $GLOBALS не получается. Не передаётся параметр. :(

А ты ГЛОБАЛЗ и в модуле и вкомпоненте используеш? Попробуй переименовать эту глобальную переменную (не blabla a blablo, например) - вдруг она совпадает с уже где то имеющейся переменной?
Попробуй проверить передачу перемнной путем echo, print() или print_r() - может она передается, только ты ее обрабатываеш не так?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
первый вариант не подходит, потому что сначала при построении навигации выполняется модуль
что-то ты не так говоришь :) в Joomla сначала инициализируется компонент, и оторабатывает параметры которые ему передали в запросе, а затем уже подгружается шаблон, и в него модули. поэтому если модуль будет формировать правильные ссылки с нужными параметрами, то компонент сможет нормально на них реагировать.

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

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

Спасибо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вставка кода вызова модуля в тело шаблона другого модуля

Автор Dorfman

Ответов: 15
Просмотров: 2962
Последний ответ 19.11.2018, 21:45:54
от beliyadm
Как создать дополнительный параметр(по типу published) для элемента списка?

Автор borro

Ответов: 4
Просмотров: 1708
Последний ответ 08.02.2018, 17:03:11
от borro
Нужна помощь в доработке модуля под Joomla 3

Автор kik84

Ответов: 5
Просмотров: 3161
Последний ответ 30.01.2018, 22:40:30
от Елeна
params->get для компонента, как получить свои собственные параметры для компонента

Автор klubnichkaaa

Ответов: 13
Просмотров: 14666
Последний ответ 01.06.2017, 20:20:28
от Septdir
По ID'у пункта меню получить ссылку для перехода

Автор GRIG

Ответов: 4
Просмотров: 3339
Последний ответ 08.05.2017, 17:13:05
от Aleks.Denezh