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

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
danik.html, согласна, порой не хватает такой опции=)
но еще больше не хватает опции - раскрывать подпункты если меню на псевдонимах))
представим ситуацию (упрощенно):
меню (основное, неопубликованное)
- пункт1
- пункт2
- пункт3
- пункт4
меню второе (на псевдонимах, опубликованное)
- пункт1
- - пункт2
- - - пункт3
- пункт4
стандартный модуль меню покажет нам только пункт1 и пункт4, ну или другой вариант - всегда держать развернутым, но при большом меню - это абсурд))
вот в 1.5 как-то проще с этим было..
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Если кто-то может подправить модуль меню - пишите в ЛС срочно, буду безмерно благодарна :)
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Напиши в багтрекер, это ведь ошибка получается..
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
не обязательно. Скажут что не было задачи для псевдонимов проверять активность и раскрывать подпункты.
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Напиши в багтрекер, это ведь ошибка получается..
не, ситуация с модулем это как раз нормально в принципе - стандартно.
проблема в J2.5 в этом -
SmokerMan, попробуй сначала, потом расскажешь ;)
первое меню
 - пункт (блог категории, материал - не важно) (алиас - punkt)
второе меню
 - пункт  (псевдоним или внеш. ссылка - не важно) (алиас - цифры, оно же дата, подставляется автоматом)
 - - - подпункт (блог категории, материал - не важно) (алиас - podpunkt)
публикуем второе меню, ссылка на подпункт вида - /2012-04-05-00-17-42/podpunkt, а должно быть /punkt/podpunkt
- отсюда предложение от Эры сделать на псевдонимах - получится сборная солянка из разных меню, но тут косяк с модулем...
Воть...поэтому или хакать J или править модуль
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Да должно работать... (раскрытие меню на псевдонимах) вот только если в этом меню не стоит раскрывать постоянно - Joomla игнорирует уровни (хотя проверка на наличие уровней есть) и не раскрывает подпункты... это не нормально. сижу с утра, ковыряю...
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
ELLE покажите на тестовой площадке Вашу ситуацию. (ссылку на сайт).
Так думаю будет больше шансов разобраться. И как вариант решения прописать меню в шаблоне.
Итого будем иметь 3 решения
1. Ваш - правка базы
2. danik.html - переписать модуль
3. собственно мой вписать меню в шаблон
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Цитировать
Да должно работать... (раскрытие меню на псевдонимах) вот только если в этом меню не стоит раскрывать постоянно - Joomla игнорирует уровни (хотя проверка на наличие уровней есть) и не раскрывает подпункты... это не нормально. сижу с утра, ковыряю...
Marques, ну значит баг на баге))
меня меню на псевдонимах полностью устраивает, если бы модуль работал))
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Я сдаюсь...
Если в меню есть пункты типа "псевдоним" - то при включении отображения подпунктов ($showAll = 1)  в настройке модуля - все работает как надо, то есть при выборе подпункта его родитель подсвечивается, и во всех нужных пунктах (которые имеет вложенные пункты) $item->deeper = 1 (true)

Как только выключаешь отображение подпунктов - то $item->deeper = 1 только у пунктов меню которые НЕ "псевдоним" и содержат вложенные пункты, а пунктов меню сделанных как "псевдоним" и имеющих вложенные пункты $item->deeper = false

Каким образом формируется это значение - мне не раскопать, но весь гемор именно из-за него. Joomla не видит что в пункте меню есть еще подпункты, хотя в БД есть количество вложенных уровней... но ей на это пофиг, ибо этот долбаный $item->deeper = false и как только она это узнает - ей становится пофиг на все остальное... п-ф-ф-ф-ф...
« Последнее редактирование: 08.04.2012, 23:52:50 от Marques »
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Marques смотрите вариант 2. danik.html
Вы можете спокойно не выводить меню с заданными id привязав к примеру к id модуля меню или к классу
Или вставить в админку меню поле(строка) не показывать id а в default.php преобразовать строку в массив, при выводе пункта меню проверять id пункта меню на наличие в массиве и вывод да нет
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Ну да, только если так... но сегодня уже не буду делать, глаза в кучу. Очень уж мне хотелось ее победить.

А вообще - это не нормально, Joomla должна раскрывать меню в любых вариантах если есть вложенные пункты, но почему-то с типом пункта меню "псевдоним" ее клинит. :)
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
ELLE, решили проблему? Я тут немного покопался и сделал как предлагал danik.html, возможность скрывать пункты меню, то есть можно сделать два одинаковых модуля меню, но в одном будут отображаться одни пункты, в другом другие... по выбору из настроек модуля (добавил туда выбор нужных пунктов) вот только пока не знаю как лучше, просто по порядку выбирать или можно сделать возможность ввести ID пунктов которые нужно скрывать.
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
у меня 6 крупных разделов, в каждом есть по несколько категорий (подпункты, а в них еще есть подпункты)), и вот пришлось создать одно меню для красивых адресов (основное) и еще одно из псевдонимов с вложенностью/иерархией для пользователей (для отображения на главной).
Так как разделов 6, - создала еще 6 псевдоменю и 6 модулей под них, которые отображаются в соответствующих разделах, приведу примеры первых 2-х псевдоменю для наглядности:
[
Спойлер
[свернуть]

« Последнее редактирование: 09.04.2012, 22:43:49 от ELLE »
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Подсветка пунктов которые "псевдоним" ? Я вчера с подсветкой решил вопрос, если подсветка псевдонимов - то пишите, я сейчас найду вчерашние файлы.
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

GDV

  • Завсегдатай
  • 1898
  • 201 / 5
Столько понаписали... А псевдоним пункта меню не вариант? Или не понял сути вопроса.
Убедительная просьба не писать в ЛС. Для решения Ваших проблем есть форум.
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Вот, нашел...

Оригинальный файл modules/mod_menu/tmpl/default.php
Код: php
elseif ($item->type == 'alias') {
$aliasToId = $item->params->get('aliasoptions');
if (count($path) > 0 && $aliasToId == $path[count($path)-1]) {
$class .= ' active';
}
elseif (in_array($aliasToId, $path)) {
$class .= ' alias-parent-active';
}
}

не знаю зачем это придумали $class .= ' alias-parent-active'; (38 строка) но с таким названием класса подсветки не будет.
меняем эту строку на $class .= ' active'; и подсветка активного корневого пункта начинает работать.

Проверял на чистой 2.5.4 с шаблоном beez20
« Последнее редактирование: 09.04.2012, 21:33:14 от Marques »
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Столько понаписали... А псевдоним пункта меню не вариант? Или не понял сути вопроса.

Не, там все сложнее... вот с этими псевдонимами как раз и проблема.
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Подсветка пунктов которые "псевдоним" ? Я вчера с подсветкой решил вопрос, если подсветка псевдонимов - то пишите, я сейчас найду вчерашние файлы.
Marques, так выложил бы уже всё, думаю сообществу было бы интересно/полезно. И реализация по выбору нужных пунктов в модуле тоже интересна
зы: да, которые "псевдоним"..
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Все выложу позже, ибо хочу красиво сделать... у меня сейчас только рабочий вариант да и еще хочу попробовать разные варианты, скрытие пунктов по ID и по названию. Да и нужно сделать так что бы просто в свой шаблон файлы закинул и работает а у меня пока все разбросано по разным местам. :)
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Не, там все сложнее... вот с этими псевдонимами как раз и проблема.
Тогда зачем модуль трогать задайте стиль .alias-parent-active
.alias-parent-active, .active {}
Получается и проблемы то никакой нет
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Ну это понятно, просто я уж ковыряю шаблон вывода меню так и делаю его как надо, что бы с любыми шаблонами работал и не надо ничего в CSS писать. Оригинальный-то останется на месте, а переделанный в папку шаблона закинул и пользуйся пока не надоело.
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Я просто решил сделать модуль с возможностью выключать отображение не нужных пунктов меню. Как вы и danik.html предлагали.
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
А как ты эту опцию добавишь,  не трогая xml-манифест? Нужно походу новый модуль создавать
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Ну да, новый и хочу, на основе оригинального. А без XML конечно никак :)
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Marques, так выложил бы уже всё, думаю сообществу было бы интересно/полезно. И реализация по выбору нужных пунктов в модуле тоже интересна
зы: да, которые "псевдоним"..

Ну вот, сделал альтернативный модуль - описание и сам пациент вот в этой теме
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

Adam Bazaroff

  • Захожу иногда
  • 112
  • 10 / 5
ух… в 2.5.4 при создании новых, одноименных категории и меню ко всем добавилось «Joomla!%20Update». Это что за зверь такой? Неужели руками в базе только править? Причем каждый раз при создании новых категорий/меню?
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
ух… в 2.5.4 при создании новых, одноименных категории и меню ко всем добавилось «Joomla!%20Update». Это что за зверь такой? Неужели руками в базе только править? Причем каждый раз при создании новых категорий/меню?
хм, у меня тоже такое было...правда я заметила после обновления до 2.4. да, править только в базе - пересохранение в админке ничего не дает

Ну вот, сделал альтернативный модуль - описание и сам пациент вот в этой теме
спасибо! щас тестить буду!
*

Adam Bazaroff

  • Захожу иногда
  • 112
  • 10 / 5
На официальном форуме нашёл эту ветку. http://forum.joomla.org/viewtopic.php?f=618&t=708724

Только не понимаю как те шаги могут решить что-то… Я htaccess не трогал. Сейчас попробую накатить обновление заново и сделать как там написано. Почему именно «Joomla!%20Update» интересно.
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
спасибо! щас тестить буду!

Будут вопросы - пишите, я теперь в этом модуле с закрытыми глазами ориентируюсь :)
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Алиас пункта меню совпадает с именем подкаталога в каталоге с сист.файлами

Автор Andrey N.

Ответов: 14
Просмотров: 5304
Последний ответ 07.10.2021, 23:57:15
от Garrr
Главное меню

Автор Анастасия87

Ответов: 7
Просмотров: 2966
Последний ответ 21.05.2021, 08:40:40
от arma
[РЕШЕНО] Как в Joomla 2.5 автоматом удалять пользователей, не активировавшихся?

Автор pH43

Ответов: 2
Просмотров: 4562
Последний ответ 01.06.2020, 17:16:26
от pH43
Как сократить вертикальное расстояние между меню сайта и баннером?

Автор MultiMatrix83

Ответов: 2
Просмотров: 2695
Последний ответ 16.02.2020, 19:30:25
от MultiMatrix83
Редактирование Модуля - в меню не удаляется пункт

Автор bovinkm

Ответов: 4
Просмотров: 2712
Последний ответ 16.08.2019, 15:00:22
от bovinkm