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

Lann

  • Захожу иногда
  • 133
  • 5 / 1
Добрый день!

Подскажите, есть пункт меню "Блог категорий", хотелось бы добавить несколько макетов (в редактировании п.меню Отображение -> Макет), интересует именно blog_item.php

Добавляю в шаблон/html/com_content/category/

файл blog_item.php - это как бы по умолчанию
добавляю еще  blog_item-new.php (так же пробовал так new_item.php)

Не работает... не могу выбрать новый макет при редактировании п.меню.



*

Lann

  • Захожу иногда
  • 133
  • 5 / 1
Немного понял... при редактировании пункта меню "блог категорий" - в макете я могу задавать макеты/html/com_content/article/default-new.php

но так и не понял, где создавать макеты blog_item.php (
Можно указать новый макет для категории (при редактировании категории) - но этот макет не отображается когда переходишь по ссылке "блог категорий" созданной в меню
*

fbr

  • Завсегдатай
  • 1689
  • 211 / 7
 blog_item.php переопределяете правильно в /html/com_content/category/
нужно переопределить и blog.php
в тех 2х местах где вызывается макет:
Код
echo $this->loadTemplate('item');
заменяете на вызов своего макета
Код
echo $this->loadTemplate('item-new');
*

Lann

  • Захожу иногда
  • 133
  • 5 / 1
если я положу blog.php в /html/com_content/category/
и заменю в нем вызов макета ( echo $this->loadTemplate('item-new'); ) - вероятно это будет работать. но

у меня несколько ссылок в меню типа "Блог категорий" - и внешний вид их разнится

т.е. я ожидал бы что бы можно было бы сделать два макета

blog-new.php
blog-new1.php

один бы открывался, допутип бы по URL https:\\имя.сайта\материалы-new, другой по URL https:\\имя.сайта\материалы-new1

сейчас же получается что редактируя пункт меню в табе "Отображение -> Макет" я могу задавать только макеты конечных материалов "article/default-new.php"

а где в меню мне переопределить blog.php ? (ну и\или blog_item.php)?
*

fbr

  • Завсегдатай
  • 1689
  • 211 / 7
чтобы переделать blog.php, вам нужно создать новый тип пункта меню
делаете копии и переименовываете
blog.php в myblog.php
blog_item.php  в myblog_item.php
blog.xml в myblog.xml
в файле XML делаете <layout title="MYBLOG" option="COM_CONTENT_CATEGORY_VIEW_BLOG_OPTION">
можете добавить свои настройки
Теперь при выборе пункта меню у вас появится материалы -> MYBLOG
*

Lann

  • Захожу иногда
  • 133
  • 5 / 1
Спасибо за ваши ответы! А где вы хотите что бы были созданы копии тех файлов что вы писали? в частности xml-ки?



ох простите что то я кажется недо понимаю... для прояснения. Вот у меня есть пункт меню - в котором я хотел бы видеть отдельный blog_item.



т.е. новый создавать не надо - вот этот годится.

далее - вот тут



я могу выбрать макет html/com_content/article/

и где бы я не создавал новые "blog.php -> myblog.php" и прочие, данный пункт меню игнорирует все созданное. т.е. я не понимаю базы - где мне указать что ЭТОТ пункт меню должен взять новый переименованный "blog.php -> myblog.php" ?



*

fbr

  • Завсегдатай
  • 1689
  • 211 / 7
Я тоже кажется не очень понимаю, что вы хотите ...
Давайте еще раз:
html/com_content/category/blog5u.xml
html/com_content/category/blog5u.php
html/com_content/category/blog5u_item.php
----------------
Создали? все.
У вас появился новый тип пункта меню. Редактируйте как хотите все созданные файлы.
*

Lann

  • Захожу иногда
  • 133
  • 5 / 1
аа, вот как. да, все понял. было не понятно что "новый пункт меню" - что это прям буквально! Спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Верхнее меню в версии для ПК как сделать на весь экран?

Автор web1

Ответов: 0
Просмотров: 551
Последний ответ 23.10.2025, 19:52:02
от web1
Навигационное меню

Автор rizzardi

Ответов: 0
Просмотров: 837
Последний ответ 09.04.2025, 07:44:13
от rizzardi
После обновления с Joomla4 до Joomla5 не выбирается тип пункта меню

Автор keykeeper

Ответов: 1
Просмотров: 1132
Последний ответ 19.03.2025, 14:57:02
от keykeeper
Вопрос по шаблону Protostar для Joomla 5

Автор Mick_20

Ответов: 2
Просмотров: 856
Последний ответ 06.03.2025, 12:24:37
от web1
[РЕШЕНО] Блог категорий - подкатегории в несколько колонок

Автор mkl

Ответов: 1
Просмотров: 796
Последний ответ 04.03.2025, 13:38:24
от mkl