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

Сержo

  • Захожу иногда
  • 113
  • 4 / 1
В общем из заголовка понятно думаю что к чему, но поясню.
Делаю свою вёрстку вывода статьи, и нужен вывод некоторых плагинов и модулей как в начале и в конце статьи, так и внутри статьи, плюс не как Joomla создаст порядок, а свой. То есть использование afterDisplayContent и beforeDisplayContent отпадает, по любому, и нужно ручное подключение.
ПС. Знаю что есть всякие там плагины для вставки в статью своего кода, и модулей, но это меня не устраивает, нужно автоматическое подключение по шаблону, что бы не делать каждый раз под каждую статью одно и тоже вручную.

От сюда и вопрос, как правильно вызвать/подключить плагин/модуль прямо из кода вида шаблона статьи?
Пытался гуглить по этому вопросу, да сам разобраться как и где строится подключение плагинов, но так и не нашёл/разобрался. Есть ли вообще такая возможность как в Wordpress, напрямую подключить плагины с модулями?
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Пишите в теле статьи что-то вроде {tut_nado_vstavit_chego_to}. Пишите контентный плагин на событие onContentPrepare например. Регуляркой ищете в контенте статьи ваш  {tut_nado_vstavit_chego_to} и вставляете вместо него что душе угодно. Можно любую логику подстановки придумать.
*

Сержo

  • Захожу иногда
  • 113
  • 4 / 1
passer, это всё понятно, если бы мне так надо было, я бы не задавал вопрос. Суть вопроса в том, что я не хочу для каждой статьи, вставлять вручную эти {tut_nado_vstavit_chego_to}, даже кнопкой, а мне надо что бы это автоматически вставлялось, и при этом в своё место свой плагин. Пимер:
Код: php
echo $this->item->event->beforeDisplayContent; // вставляем какой то плагин до текста
...
// тут выводим текст
<p class="paragraf-1">...</p>
// тут выводим скажем модуль баннера
<p class="paragraf-2">...</p>
<p class="paragraf-3">...</p>
// тут плагин какой
<p class="paragraf-4">...</p>
// тут ещё какой плагин или модуль
<p class="paragraf-5">...</p>
// тут по своему порядку сортировки модули и плагины
Так вот, мне что, в каждой статье это всё в ручную прописывать? Даже если я сделаю парсер, который подставит нужные {tut_nado_vstavit_chego_to} в нужные места, то это естественно на выводе готового HTML не отработает, так как это уже должно быть в текте быть. Даже пусть я  как то добавлю в текст это, но мне всё равно тогда придётся плагины переделывать, так как не все плагины имеют теги для вставки в контент, а я хочу использовать готовые расширения а не свои писать.

В общем, всё это не то, мне нужно не теги плагинов вставлять в текст, а непосредственно код, который выведет нужный плагин/модуль, и опять же не в тексте а в выводе. Суть сократить монотонную работу по форматированию текста, а не увеличить её.

ПС. С модулем вроде как нашёл решение, как в вид добавить позицию модуля, правдо это для модулей в нутри модуля, но может сработает. Мне бы ещё подобное для плагинов.
*

Сержo

  • Захожу иногда
  • 113
  • 4 / 1
Мда, полный пипец, как ни крутил, так и не смог прикрутить плагин напрямую, и поиск по сети на эту тему тоже не дал результата. :(
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Нужно создать плагин своей группы и выводить его, а не content плагины. Но вот не уверен, как это можно сделать внутри статьи.
*

Сержo

  • Захожу иногда
  • 113
  • 4 / 1
Цитировать
А это вообще возможно?
Думаю что нет, не чего не нашёл по этой теме, даже на английском.

Цитировать
Нужно создать плагин своей группы и выводить его, а не content плагины. Но вот не уверен, как это можно сделать внутри статьи.
Всё суть в том, что я хотел использовать готовые решения, а не изобретать свои велосипеды, а "создать плагин своей группы и выводить его" и там ещё чего, это и есть велосипед.

В общем простого решения задачи в Joomla не предусмотрено, а жаль. Я не любитель Wordpress по определённым причинам, но там такая возможность есть, что "в данном случае/вопросе" ставит Wordpress на ступень выше.
Я конечно понимаю что такие желания как у меня существуют у единиц, но думаю что предусмотреть это всё же можно было, ведь для модуля же есть возможность хоть как то это сделать, а для плагинов нет. :(

Лан, придётся решать проблему модулями и своими "шаблонными плагинами".

Всем спасибо за ответы.

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

Как в шаблоне protostar подключить стиль с другой папки?

Автор azm1n

Ответов: 2
Просмотров: 1704
Последний ответ 18.04.2025, 11:05:27
от azm1n
Не могу разблокировать материалы, модули для редактирования

Автор Ecodrev

Ответов: 3
Просмотров: 1509
Последний ответ 24.03.2025, 20:20:55
от R31rus
Radical Multi Field создаёт папку для каждой статьи

Автор Missile

Ответов: 7
Просмотров: 1445
Последний ответ 25.11.2024, 15:22:12
от Missile
Перенести описание категории вниз страницы

Автор jimka

Ответов: 1
Просмотров: 1797
Последний ответ 18.07.2024, 08:02:46
от Vastriet
Шаблон для данной страницы недоступен. сообщите об этом Администратору сайта

Автор 62411

Ответов: 2
Просмотров: 1913
Последний ответ 30.03.2024, 13:15:16
от web1