Новости Joomla

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

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

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

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

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

Читать статью на Хабре.

@joomlafeed

🏆 Открыто голосование за 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 Гость просматривают эту тему.
  • 9 Ответов
  • 2666 Просмотров
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Есть пункт меню (скрытый), который ссылается на компонент, ссылка index.php?option=com_ai_mfo&view=list, алиас пункта меню personal.

При попытке авторизации заблокированного пользователя из формы авторизации com_users (/component/users/?view=login) выводит нормальный ответ "Вход запрещён! Ваша учётная запись заблокирована или ещё не активирована", о том, что пользователь заблокирован.

При попытке авторизации заблокированного пользователя из формы штатного модуля mod_login (), в котором указано перенаправление при входе на пункт меню personal, происходит редирект не на /component/users/?view=login, как это было до J3.4, а на /component/ai_mfo/list.html, хотя и с выводом сообщения о том, что учетка блокирована.

Баг? или что-то не так у меня?
« Последнее редактирование: 11.04.2015, 19:15:09 от b2z »
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Если авторизуется неблокированный пользователь, то редирект идет также на /component/ai_mfo/list.html, а не /personal.html, как положено.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Выявил, что в J3.4 изменили в хелпере модуля функцию getReturnURL() таким образом, чтобы она возвращала для редиректа URL не на пункт меню, а на ссылку из этого пункта меню, весьма упростив саму функцию.
Косяк, имхо, баг. Лучше тогда уж сделали бы параметр-переключатель в настройках модуля: кому надо - в меню, кому надо - непосредственно в компонент.
Вернул себе целиком хелпер из J3.3.6.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Что, никто более не столкнулся с проблемой?
*

b2z

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

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Т.е. правильно - на /component/имя_компонента/вид ? А зачем тогда привязка к пункту меню, на котором права выставлены?
Это началось в 3.4.0, до этого что, два года с момента выхода тройки баг был? а на 2.5 до сих пор баг?

Тогда в модуле надо не пункт меню указывать, а просто поле для указания non-sef-url, в идеале - выбор типа, как в том же пункте меню, в т.ч непосредственно сам пункт меню.
« Последнее редактирование: 06.04.2015, 11:51:55 от AlekVolsk »
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
В шаблоне вида компонента, на который ссылается пункт меню, у меня имеет место быть такой код, в самом начале:
Код: php
<?php defined('_JEXEC') or die;
if (JFactory::getUser()->guest)
  JError::raiseError(401, 'Restricted access');

Теперь же мне придется делать редирект на com_users/login и выдавать соответствующее сообщение ручками. Нафига мне тогда весь механизм J, если я вынужден его дублировать в своем компоненте? Кстати, установка прав в админке для паблик и гостя на доступ к компоненту стоит "Запрещено", но это не работает для фронта.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Взял последние изменения с ночных билдов. Да, теперь это исправили, даже в настройках модуля для выбора стали доступны только те пункты, которые ссылаются только на внутренние страницы и не являются якорями/алиасами/разделителями (раньше доступны были все подряд).
На боевых сайтах оставил пока версию от 3.3.6, посмотрим, что выйдет в оф.обнове.
Все-таки это баг.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Взял последние изменения с ночных билдов.
А именно - для интересующихся - отсюда: http://developer.joomla.org/cms-packages/Joomla_3.4.1_to_3.4.2-dev-Development-Patch_Package.zip
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться