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

zikkuratvk

  • Глобальный модератор
  • 4824
  • 346 / 2
  • Обслуживаем проекты - дорого.
Прошло уже довольно таки много времени, поля в целом оказались вполне рабочим инструментом.
Но к сожалению все существующие фильрации оказались платными, мало того, что платными, так это еще и отдельные виды фильрации материалов.

Мы решили исправить эту проблему и сделали собственную реализацию фильтров для полей Joomla.

Система состоит из плагина и модуля.

Плагин надо активировать и забыть про него, так как он нужен чтоб включить механизмы фильрации в категории материалов.
Модуль надо активировать и настроить, указав категорию материалов и типы полей поддерживаемых.

В общем тестируем предлагаем и наслаждаемся :-)

Официальная страница модуля:
https://joomline.ru/rasshirenija/moduli/jlcontentfieldsfilter.html

Ссылка на скачивание:
https://joomline.net/ru/downloads/jlcontentfieldsfilter.html

Ссылка на документацию:
https://joomline.ru/docs/99-jlcontentfieldsfilter.html

Перед тем как задать вопрос, по поводу того, что не работает проверьте системные требования и убедитесь, что системный плагин "Система — JlContentFieldsFilter" включен.

Демо версия фильтра


Минимальная версия Joomla для корректной работы фильтра - Joomla 3.8.0
Внимание!!! Если у вас Joomla ниже 3.8.3, то для получения корректного результаты не используйте значения по умолчанию для полей.
« Последнее редактирование: 27.12.2020, 20:26:17 от zikkuratvk »
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
@Septdir, а если производительность фильтра позволяет, почему бы нет?
у многих каталоги - 100-200 товаров. Это же тоже ниша.
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
@Septdir, а если производительность фильтра позволяет, почему бы нет?
Этот плагин и другие компоненты\ плагины, по сути велосипед. Не подумайте плохо, Ребята отлично поработали и реализация наиболее "верная", но com_content не был и не будет компонентом каталога. Исключая техническую часть, он не совсем удобен если хотите, есть коммерческая, проще говоря если из com_content на уровне коробки сделать полноценный каталог, то очень многие разработчики отстраняться без заработка.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
просто я на одном сайте использовал MiniCCK от Аркадия и было очень удобно, если честно.
в любом случае, доп. поля сами по себе - это уже убийство плагинов, типа вышеобозначенного. так что тут поздно притворяться лояльными к сторонним разработчикам.
они сделали выбор между альтернативными решениями, сейчас они могу сделать это ещё менее корявым в использовании.
так что я думаю, имеет смысл попробовать, если есть желание. если без завышенных ожиданий подходить, то вполне рабочий процесс.
а спрос точно будет.

ну этом с точки зрения пользователя.
реально мне сложно оценить разницу между тем, что есть и тем, что предлагается внедрить.
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
в любом случае, доп. поля сами по себе - это уже убийство плагинов,
Не. Доп поля при разработке очень удобны. Берешь поля, категории, тэги. допиливаешь свой функционал и компонент готов. Очень удобно и экономит время.
так что я думаю, имеет смысл попробовать, если есть желание
Это безусловно. Попытка не пытка. Особенно если готово. Хотя наверное лучше начать с issue и посмотреть реакцию
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Не только. Просто с ним начнуют юзать com_content для всяких каталогов, а он для этого не предназначался
И чем это нам грозит?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
а есть возможность выводить список материалов с сортировкой по доп.полям? в т.ч. множественной сортировкой? order by в запросах
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Хотя наверное лучше начать с issue и посмотреть реакцию
Когда я первый раз засылал этот триггер первым вопросом было "А зачем это нужно?". Вторым ходом было сказано, "Это нужно только вам, почему мы должны это внедрять?". По этому, думаю, существенно лучше будет сначала организовать спрос, потом предложение.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
а есть возможность выводить список материалов с сортировкой по доп.полям? в т.ч. множественной сортировкой? order by в запросах
Это не реализовано в фильтре, но реализовать можно, только одноуровневую сортировку т.к. в модели материалов
Код
$query->order($this->getState('list.ordering', 'a.ordering'). ' ' . $this->getState('list.direction', 'ASC'));
А если коверкать модель по своему усмотрению (она подменная и уже с хаком), то можно сделать что угодно.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Это не реализовано в фильтре, но реализовать можно
будет весьма замечательно, если это будет представлено как доп.функционал в данном решении :)
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
И чем это нам грозит?
Нам ни чем =) Им головной болью.
Когда я первый раз засылал этот триггер первым вопросом было "А зачем это нужно?".
Ну вот я примерно так же думаю насчет каталога на com_content.
"Это нужно только вам, почему мы должны это внедрять?".
Ага, ведь другие просто могу установить компонент или же сделать свой(сейчас сделать свой с фильтрацией вообще не проблема)

Кстати. В триггер хоть название модели будет передаваться?, просто не припомню если ли в стейтах название модели. а то ладно id но заменить какой нибудь access можно случайно во всех моделях.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Кстати. В триггер хоть название модели будет передаваться?, просто не припомню если ли в стейтах название модели. а то ладно id но заменить какой нибудь access можно случайно во всех моделях.
Я про это уже думал, смотря где все-таки решим пробивать триггер, если в модели артиклей, то не надо, если в родительской, то обязательно.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
будет весьма замечательно, если это будет представлено как доп.функционал в данном решении :)
На гитхабе.
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Я про это уже думал, смотря где все-таки решим пробивать триггер, если в модели артиклей, то не надо, если в родительской, то обязательно.
Если только в модели com_content, то лучше уж сразу сделать фильтрацию. К примеру из массива filter[id_поля]. А модули пусть люди сами пишут. как говориться кто на что гаразд.
Просто вот чуется мне что триер в родителе не примут, с фразой типа зачем.. Ибо разрабы компонентов и сами сделают.

Кстати может сделать и тот и то. и просто показать до PR тому же @mbabker ну или @b2z попросить, он же у нас теперь member на гитхабе =)
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Если только в модели com_content, то лучше уж сразу сделать фильтрацию. К примеру из массива filter[id_поля]. А модули пусть люди сами пишут. как говориться кто на что гаразд.
Просто вот чуется мне что триер в родителе не примут, с фразой типа зачем.. Ибо разрабы компонентов и сами сделают.
Тут любая позиция спорная, и твоя и моя, ибо гадание на кофейной гуще.
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Тут любая позиция спорная, и твоя и моя, ибо гадание на кофейной гуще.
Согласен. Так или иначе попытаться стоит. Мб хоть в четверке проканает.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

zikkuratvk

  • Глобальный модератор
  • 4824
  • 346 / 2
  • Обслуживаем проекты - дорого.
добавили документацию.
https://joomline.ru/docs/99-jlcontentfieldsfilter.html
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

zikkuratvk

  • Глобальный модератор
  • 4824
  • 346 / 2
  • Обслуживаем проекты - дорого.
3.8.3 вышла с фиксами, так что можно в шапке поправить красную строку :)
я думаю пока обновятся до нее все заинтересованные )) убирать не стоит
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
так не убирать, а поправить же )
типа, для версий Joomla ниже 3.8.3 не используйте значения полей по умолчанию
*

zikkuratvk

  • Глобальный модератор
  • 4824
  • 346 / 2
  • Обслуживаем проекты - дорого.
Обновил шапку :-)
чтоб вопросов было меньше.
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

zikkuratvk

  • Глобальный модератор
  • 4824
  • 346 / 2
  • Обслуживаем проекты - дорого.
Почти подошла новая версия модуля :-)
В ней будет еще больше вкусного :-)
https://github.com/Joomline/JlContentFieldsFilter/commits/master
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

a090588

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
*

zikkuratvk

  • Глобальный модератор
  • 4824
  • 346 / 2
  • Обслуживаем проекты - дорого.
у меня не работает фильтрация http://mtchr.tmweb.ru/index.php?option=com_content&view=category&layout=blog&id=11&Itemid=105
У вас не верно указан контейнер для AJAX похоже укажите контейнер актвальный для вашего шаблона.
Скорей всего вам надо указать вот этот контейнер https://s.mail.ru/31b9/PpYBjbSTN или добавить к нему  id="content"
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

zikkuratvk

  • Глобальный модератор
  • 4824
  • 346 / 2
  • Обслуживаем проекты - дорого.
v1.1.0
Исправление языковых переменных.
Добавлен Donate.
Возможность сортировки материалов по различным параметрам.
Шаблонизация полей фильтра.
Изменен дизайн модуля.
Добавлена настройка для указания количества колонок.
Фиксы связанные с публикацией в JED.
Удаление не нужного поля при фильтрации.
Адрес сервера апдейта перенесен в файл пакета.

Скачать
Страница описания

Так же обновлена Документация
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

Andreas

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Вадим спасибо за расширение и обновления к нему!  :D *DRINK*
*

x1

  • Давно я тут
  • 637
  • 15 / 0
  • Linux — это Windows для бытовой техники
Продублирую свой вопрос (он в другой теме): если будет около 20.000 материалов с 12 полями каждый, ваш фильтр потянет? Я понимаю, такой статистики у вас нет, но хотя бы теоретические оценки: делать каталог на com_content с вашим фильтром или К2 например?
« Последнее редактирование: 12.01.2018, 16:40:38 от x1 »
*

zikkuratvk

  • Глобальный модератор
  • 4824
  • 346 / 2
  • Обслуживаем проекты - дорого.
Продублирую свой вопрос (он в другой теме): если будет около 20.000 материалов с 12 полями каждый, ваш фильтр потянет? Я понимаю, такой статистики у вас нет, но хотя бы теоретические оценки: делать каталог на com_content с вашим фильтром или К2 например?
Мы пока не тестировали на таких объемах, в целом надо попробовать. Теоретически должно потянуть... если есть у кого нибудь демо-база мы потестируем это дело :-)

На самом деле проблема возникнуть может не из-за самого фильтра и из-за самих полей Joomla.
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

x1

  • Давно я тут
  • 637
  • 15 / 0
  • Linux — это Windows для бытовой техники
Спасибо, и другой вопрос, а фильтрация по textarea  предполагается?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
В будущем предполагается.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

WT Simple price table - модуль прайслиста для Joomla

Автор sergeytolkachyov

Ответов: 0
Просмотров: 63
Последний ответ 16.02.2026, 14:25:56
от sergeytolkachyov
SW JProjects - Менеджер цифровых проектов для Joomla! CMS™

Автор Septdir

Ответов: 62
Просмотров: 19889
Последний ответ 30.01.2026, 14:57:54
от sergeytolkachyov
Бесплатный плагин импорта экспорта данных в поля материалов Joomla - CFI

Автор zikkuratvk

Ответов: 11
Просмотров: 8448
Последний ответ 27.01.2026, 08:37:19
от sergeytolkachyov
JL Like - Социальные кнопки для Joomla (новый взгляд)

Автор zikkuratvk

Ответов: 640
Просмотров: 112026
Последний ответ 23.01.2026, 15:27:10
от zikkuratvk
А-ля корзина для материалов Joomla

Автор Efanych

Ответов: 152
Просмотров: 23285
Последний ответ 23.12.2025, 18:15:39
от zikkuratvk