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

scomp

  • Новичок
  • 9
  • 2 / 0
Мысли по JPATH_THEMES и com_templates
« : 22.01.2013, 16:46:55 »
Всем доброго времени суток.

Наверное я один об этом задумывался - есть у нас такой замечательный файл includes/define.php, который я люблю править.

Там можно указать путь к шаблонам:
Код
define('JPATH_THEMES',        JPATH_BASE . '/templates');

И Front-End действительно ищет шаблоны по этому пути.

Но почему тогда в \administrator\components\com_templates\helpers\templates.php путь к папке шаблонов формируется как
Код
$templateBaseDir.'/templates/'.$templateDir

И нет возможности не внося изменений в компонент научить панель администрирования работать с переменной JPATH_THEMES.

Не помню как в J!2.5, но там меня этот вопрос не беспокоил. То ли работало как надо, посмотрю потом.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Мысли по JPATH_THEMES и com_templates
« Ответ #1 : 22.01.2013, 18:00:34 »
Что-то я не уловил связи. Приведите пример того, как Вы хотели научить панель администрирования работать с переменной JPATH_THEMES.
*

scomp

  • Новичок
  • 9
  • 2 / 0
Re: Мысли по JPATH_THEMES и com_templates
« Ответ #2 : 22.01.2013, 21:14:43 »
Что-то я не уловил связи. Приведите пример того, как Вы хотели научить панель администрирования работать с переменной JPATH_THEMES.

Точно так же, как панель администрирования работает с переменными из \administrator\includes\defines.php
Более того, переменная JPATH_THEMES там есть и содержит путь к шаблонам панели администрирования.

Теоретически, там могла присутствовать переменная, например, JPATH_SITE_THEMES (т.к. в JPATH_THEMES содержится путь к шаблонам панели администрирования) и уже она бы использовалась в com_templates, а не эта жесткая привязка к пути /templates/ в корне сайта, реализованная следующими строками:
Код
$templateBaseDir = $clientId ? JPATH_ADMINISTRATOR : JPATH_SITE;
$filePath = JPath::clean($templateBaseDir . '/templates/' . $templateDir . '/templateDetails.xml');

Если в Joomla заложено, что шаблоны обязательно должны жить в корне сайта в папке /temlates/, то зачем тогда было в defines.php присваивать путь к шаблонам и наоборот, если я могу это значение изменить, почему в панели администрирования я должен непосредственно править сам com_templates, который может вернуться в исходное состояние при обновлении.

Главный вопрос - зачем мне это нужно? У меня используется один каталог файлов Joomla для нескольких сайтов одновременно и в defines.php автоматически определяются значения в зависимости от домена, по которому обращаются к скриптам. И для каждого сайта у меня свой configuration.php, папка шаблонов, папка кеша, папка images с подкаталогами для каждого пользователя (каждый пользователь корнем видит только свой каталог). Все остальные файлы Joomla - общие. Вся кастомизация происходит только через переопределение и дальше папки шаблона не выходит. И все это великолепно работало на Joomla 2.5 и теперь работает на Joomla 3.0. Единственный минус реализации - шаблоны из панели устанавливаются в корневую папку /templates/ и их вручную приходится переносить в папку нужного сайта. Править com_template не вариант, т.к. чем меньше правок, тем легче это потом обновлять.
« Последнее редактирование: 22.01.2013, 21:18:40 от scomp »
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Мысли по JPATH_THEMES и com_templates
« Ответ #3 : 22.01.2013, 22:32:17 »
Ясно. Но у Вас скажем так, нечастая ситуация. Вы можете конечно попробовать продвинуть идею, сделав соответствующее предложение на трекере и замутив pull request.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться