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

frostyland

  • Осваиваюсь на форуме
  • 34
  • 4 / 0
Здравствуйте.
Мутно как-то спросил... )
Поясняю:
Сделал пункт меню "Стандартный шаблон раздела" (Отображает список категорий раздела блогом)
------------

-------------
Категории отображаются блогом с описанием, все как настроил...
-------------

-------------
Но при нажатии на категорию материалы выводятся списком + фильтр
-------------

-------------

Что-то я не могу нигде найти как настроить вывод материалов в данном случае блогом  "минус фильтр" и "минус описание категории".

Подскажите, кто в курсе.

С уважением, ВВК
« Последнее редактирование: 08.11.2009, 22:57:05 от frostyland »
*

frostyland

  • Осваиваюсь на форуме
  • 34
  • 4 / 0
==================
Оппа...
Присмотрелся к URL, который формируется при выводе статей,
http://pazh/index.php?option=com_content&view=category&id=35:directory&Itemid=54&layout=default
заменил выделенное на вот это
http://pazh/index.php?option=com_content&view=category&id=35:directory&Itemid=54&layout=blog
и материалы сталы выводиться блогом, причем, и фильтр пропал и описание категории - все, как и надо )))
а как-то это поведение можно настроить через админку?
Или подскажите, где изящнее хакнуть )))

С уважением, ВВК
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Или подскажите, где изящнее хакнуть )))
Вкратце тут и где то недавно на форуме пробегала развернутая дискуссия по аналогичному вопросу, увы адрес запамятовал
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

frostyland

  • Осваиваюсь на форуме
  • 34
  • 4 / 0
Вкратце тут и где то недавно на форуме пробегала развернутая дискуссия по аналогичному вопросу, увы адрес запамятовал

Я поизучал.
Сначала мне показалось что можно просто подменить файл, например, default_items.php на blog_item.php, чтобы он подхватился, и вывел блогом вместо таблицы названий. Но полезли всякие ошибки, словом - в лоб не прокатило.

Методом исключения нарыл строку, формирующую ссылку
Код
<a href="<?php echo [color=red][b]$category->link[/b][/color]; ?>" class="category"><?php echo $this->escape($category->title); ?></a>
Именно в ней формируется параметр layout=default
Можно ли настроить этот параметр? Подменить тип вывода?

ЗЫ: Хмм... А может, подменить ее регулярным выражением? Я в них не силен... Подскажите вариант, плз...
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Можно ли настроить этот параметр? Подменить тип вывода?
ну так я про это и говорю, готового кода под рукой просто нет, но это решалось пару недель назад на форуме
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

frostyland

  • Осваиваюсь на форуме
  • 34
  • 4 / 0
Пробежал аж на полтора месяца назад... глаза лопнули, ничего не нашел.
Наконец надоело лениться, начал разбираться с регулярными выражениями.

Заменил строку
Код: php
<a href="<?php echo $category->link; ?>" class="category"><?php echo $this->escape($category->title); ?></a>
на
Код: php
<?php $new_link = preg_replace('/layout=default/', 'layout=blog', $category->link); ?>
<a href="<?php echo $new_link; ?>" class="category"><?php echo $this->escape($category->title); ?></a>

Все заработало ))

Спасибо за поддержку! )
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться