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

frostyland

  • Осваиваюсь на форуме
  • 34
  • 4 / 0
Здравствуйте.

Применяю код
Код: php
$jmenu->getActive()->link;
для получения линка на текущий пункт меню.
Однако, линк не содержит ItemId
Код
http://pazh/index.php?option=com_content&view=category&layout=blog&id=34
в то время, как реальный URL этой страницы
Код
http://pazh/index.php?option=com_content&view=category&layout=blog&id=34&Itemid=53
Есть ли метод или проперть для получения нужного мне значения?
И кстати, где посмотреть мануал по классам и методам Joomla? (SDK или типа того)

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

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

frostyland

  • Осваиваюсь на форуме
  • 34
  • 4 / 0
1.
Код: php
$ItemId = $jmenu->id;
2.
http://docs.joomla.org/
http://api.joomla.org/li_Joomla-Framework.html

Спасибо.

А какого типа объект возвращает JMenu::GetActive() ?
Цитировать
getActive (line 191)
Get menu item by id
    * return: item object
    * access: public

return: item object - а тип объекта не уточнен... а как же атрибуты выискивать?
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Код: php
$menu = JSite::getMenu();
var_dump($menu);
$active = $menu->getActive();
var_dump($active);
$ItemId = $active->id;
echo $ItemId;
Кстати $ItemId = $jmenu->id; неправильно написал
« Последнее редактирование: 15.11.2009, 16:54:22 от Lex »
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

frostyland

  • Осваиваюсь на форуме
  • 34
  • 4 / 0
Хмм... пока я тут дамп разбираю.. рвет моск следующий вопрос...
дамп дампом, но тип то объекта где-то должен быть обхявлен?
JMenu имеет свойство "array пунктов меню", а каждый то пункт меню - тоже тип? так где этот тип объявлен, как называется? в каком файлосе?
« Последнее редактирование: 16.11.2009, 09:11:48 от frostyland »
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Хмм... пока я тут дамп разбираю.. рвет моск следующий вопрос...
дамп дампом, но тип то объекта где-то должен быть обхявлен?
JMenu имеет свойство "array пунктов меню", а каждый то пункт меню - тоже тип? так где этот тип объявлен, как называется? в каком файлосе?
посмотри табличку #__menu и #__menu_types должно все проясниться. За формирование отвечает компонент administrator\components\com_menus\
*

radius

  • Давно я тут
  • 550
  • 45 / 0
Хмм... пока я тут дамп разбираю.. рвет моск следующий вопрос...
дамп дампом, но тип то объекта где-то должен быть обхявлен?
JMenu имеет свойство "array пунктов меню", а каждый то пункт меню - тоже тип? так где этот тип объявлен, как называется? в каком файлосе?

Класса JMenuitem как такового нет, конструкция

$menu = JSite::getMenu();
$active = $menu->getActive();

Возвращает в $active структуру, а не класс. Поля структуры совпадают с полями в табличке #__menu

PS Точнее возвращается не структура, а объект класса JObject, у которого создаются динамические свойства с именами, совпадающими с именами полей в таблице #__menu

Можешь посмотреть как создаются элементы меню в классе JMenuSite: \includes\menu.php

« Последнее редактирование: 16.11.2009, 18:57:37 от radius »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести подобное меню?

Автор kelevra

Ответов: 3
Просмотров: 5206
Последний ответ 26.06.2016, 23:28:34
от kelevra
Дублирование меню

Автор serjik

Ответов: 4
Просмотров: 10720
Последний ответ 09.02.2013, 16:58:57
от Leva27
В Artisteer 2.4 появилось вертикальное меню, как его отобразить на сайте?

Автор Ремесленник

Ответов: 6
Просмотров: 19888
Последний ответ 26.10.2012, 10:20:35
от Igor1611
Топ меню

Автор terr

Ответов: 0
Просмотров: 6705
Последний ответ 05.10.2012, 10:46:14
от terr
Joomla 1.5 Как связать разделы главного меню с модулем статей к этим разделам.

Автор sergey_2012

Ответов: 4
Просмотров: 8671
Последний ответ 29.08.2012, 00:21:25
от sergey_2012