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

tiptopvkr

  • Захожу иногда
  • 78
  • 2 / 0
Здравствуйте уважаемые специалисты и знатоки Joomla. Подскажите пожалуйста какой-то способ или хак что-ли чтобы отсортировать пункты меню по алфавиту. Результат должен быть соответственно и в админке и на фронтенде. Заранее спасибо.
*

KKAAZZOO

  • Живу я здесь
  • 2288
  • 119 / 9
А что мешает в менеджере пунктов меню упорядочить их по алфавиту?
*

tiptopvkr

  • Захожу иногда
  • 78
  • 2 / 0
Простите забыл указать немаловажный момент. Сортировать необходимо массово не вручную каждый пункт. Пунктов меню около 1000 и вручную это занимает много времени.
*

KKAAZZOO

  • Живу я здесь
  • 2288
  • 119 / 9
Мне думается что напрямую через базу данных только отсортировать, через sql-запрос
*

tiptopvkr

  • Захожу иногда
  • 78
  • 2 / 0
Печально... Рецептик не дадите?
*

KKAAZZOO

  • Живу я здесь
  • 2288
  • 119 / 9
Не знаю конкретного рецепта
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Сделать альтернативный шаблон меню и пересортировать список.
*

tiptopvkr

  • Захожу иногда
  • 78
  • 2 / 0
Достаточно понятно и развернуто объяснили... Но все равно спасибо за попытку.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Да я сразу понял, что вы не станете гуглить и пытаться самому реализовать, и даже написал всё. Но не успел запостить. А теперь видимо и смысла нет. :(
*

tiptopvkr

  • Захожу иногда
  • 78
  • 2 / 0
Оригинально) Но все равно спасибо) Позвольте так же заметить чтобы гуглить нужно знать что. Для того чтобы получить ответ на вопрос сначала нужно правильно его задать. Ссылаясь на отсутствие знаний я не могу правильно задать вопрос в Google. А на поиск неправильными вопросами уйдет больше времени чем вручную выставить все позиции в нужном порядке.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
1. Копируем из modules\mod_menu\tmpl\ в templates\шаблон\html\mod_menu\ файл default.php.
2. Открываем и сразу после строки (defined('_JEXEC') or die;) вставляем:

Код: php
$titles = array();
foreach ($list as $i => $item) {
$titles[$i]= $item->title;
}
asort($titles);
$templist = array();
foreach ($titles as $title) {
foreach ($list as $i => $item) {
if ($title == $item->title) {
$templist[$i] = $item;
}
}
}
$list = $templist;

Теперь меню будет выводиться отсортированным по-алфавиту. Только я делал для одноуровневого. Для многоуровневого, думаю, уже несложно самому будет переделать. Пользовательскую сортировку списка не стал делать, т.к. решил сохранить оригинальные ключи на всякий пожарный. Они вроде нигде не используюцо, но малоле.

Да, и это для вывода меню естественно. В админке переделать только хаком ядра или написанием плагина, что для меня вообще нереально.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
То же самое, но с комментариями, чтобы понимать что гуглить на будущее :) :
Спойлер
[свернуть]
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Переделал. Так половчее. А то в предыдущем примере вложенные циклы, некрасиво.

Код: php
$titles = array();
foreach ($list as $i => $item) {
$titles[$item->title] = $item;
$titles[$item->title]->tempkey = $i;
}
asort($titles);
$templist = array();
foreach ($titles as $i => $title) {
$templist[$title->tempkey] = $title;
unset($templist[$title->tempkey]->tempkey);
}

$list = $templist;

Тема походу только мне осталась интересна. :)
*

tiptopvkr

  • Захожу иногда
  • 78
  • 2 / 0
Большое спасибо за помощь. На днях обязательно попробую на практике. До сих пор никак не получалось заняться.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Да незачто. На днях попробую доделать на досуге решение для многоуровневого списка. Там просто всё сложнее намного.
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Скажите а для JUX Mega Menu for VirtueMart как сделать сортировку
на сайте http://lik-astana.kz/index.php/ru/ стоит выпадающие меню
/modules/mod_jux_vm_megamenu/tmpl/default.php
Спойлер
[свернуть]
как описано ниже пробовал не работает
Спойлер
[свернуть]
*

Kuzmitch

  • Захожу иногда
  • 150
  • 7 / 0
Кто подскажет как сделать чтобы сортировка было только одном пункте, с определенным ID ?
Есть пункт меню Авто с ID=100
В нем куча подпунктов "Ауди, Бмв, и т.д."
Есть ли возможность перепилить код так чтобы сортировались Автомобили по алфавиту ? Т.е. все что ниже пункта меню с ID=100 - сортируем по алфавиту.
И остальные пункты меню не трогаем ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] title материалов и категорий без пунктов меню

Автор pharaoh

Ответов: 269
Просмотров: 69716
Последний ответ 03.02.2022, 02:45:26
от globus812
Как добавить описание к пункту меню в Joomla 2.5? (Как у материалов)?

Автор nia

Ответов: 7
Просмотров: 6632
Последний ответ 29.03.2021, 12:10:26
от sivers
В моб версии не откриваються норм меню

Автор umsbeauty

Ответов: 0
Просмотров: 1737
Последний ответ 11.01.2021, 17:55:15
от umsbeauty
Убрать название пункта меню из URL материала

Автор fortuner

Ответов: 15
Просмотров: 9544
Последний ответ 31.10.2020, 00:46:04
от spas
Проблемка с правым меню

Автор V_V

Ответов: 3
Просмотров: 1915
Последний ответ 03.12.2019, 06:24:56
от Vovolsort