Новости 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 Ответов
  • 2021 Просмотров
*

d9k

  • Осваиваюсь на форуме
  • 16
  • 1 / 1
  • Дмитрий
Здравствуйте! Разрабатываю простенький компонент для Joomla 2.5.
Уже несколько дней не могу понять, как заставить работать orderup и orderdown- кнопки. Или хотя бы перехватывать от них сообщения в контроллере и обрабатывать самому.

Код в views/[all]/default_body.php:
Код
            <span><?php echo $this->pagination->orderUpIcon($i, ($i > 0), 'orderup'); ?></span>
            <span><?php echo $item->ordering; ?></span>
            <span><?php echo $this->pagination->orderDownIcon($i, $n, ($i < $n), 'orderdown')?></span>
Кнопки выводятся, но при нажатии на них ничего не происходит.
И с отладчиком мучался, и код исходный читал, сравнивал со "стандартными" компонентами. Сил моих больше нет.
Всё, что нагуглил, очень запутанное, устаревшее и не работает:
http://blog.actsmedia.com/2009/11/joomla-component-ordering-positioning-rows/
http://forum.joomla.org/viewtopic.php?t=413577

Есть ли в интернете нормальные туториалы или, может быть, исходники простеньких компонентов, в коде которых это всё объяснено?

Меня, так же, крайне удивляет скудность и запутанность стандартной документации для разработчика компонентов Joomla. То есть, до какого-то уровня всё просто и понятно, потом начинается сложность и запутанность, а потом мрак и костыли. очень много страниц документации от Joomla 1.5 удалено вместо переписывания под J2.5. И эти люди хотят, чтобы их CMS использовали как можно больше людей.  crazy!

Я, действительно, настолько разочарован сложностью разработки даже простых компонентов, что подумываю о смене CMS.
« Последнее редактирование: 03.08.2013, 20:14:07 от d9k »
*

d9k

  • Осваиваюсь на форуме
  • 16
  • 1 / 1
  • Дмитрий
Обнаружил отладчиком, поставленным на точку входа компонента, что события orderup и orderdown по умолчанию повешены на JControllerAdmin.reorder() в JControllerAdmin.taskmap.
Буду разбираться дальше.
« Последнее редактирование: 03.08.2013, 20:14:22 от d9k »
*

d9k

  • Осваиваюсь на форуме
  • 16
  • 1 / 1
  • Дмитрий
Уффф... Заработало
Компонент назывался ColorLinks.

Значит,
 в ColorLinksControllerColorLinks скопировал метод JControllerAdmin->reorder(),
 в ColorLinksModelColorLink метод JModelAdmin->reorder(),
 в ColorLinksTableColorLink метод JTable->move()
вроде бы удалил всякие проверки на права и то, что было связано со всякими asset'ами (мой компонент не использует настройку прав пользователей и, соответственно, таблицу assets) и, непонятным чудом, всё стало работать.

В NetBeans отлаживал запросы к таблице, создав наблюдение (string)$query, базу данных проверял по HeidiSQL. Без отладки бы точно не разобрался.
Сейчас буду думать, как сделать автоматическую коррекцию ordering перед показом списка, потому что ошибки нумерации накапливаются, например при удалении элемента.
« Последнее редактирование: 03.08.2013, 20:14:28 от d9k »
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
... потому что ошибки нумерации накапливаются, например при удалении элемента.

Добавьте после успешного удаления элемента вызов пересортировки.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Увеличьте размер активных элементов на странице

Автор leo78

Ответов: 1
Просмотров: 2009
Последний ответ 31.07.2015, 14:23:24
от leo78
Поле вывода календаря как d-m-Y. XML элемент календарь

Автор oppo

Ответов: 0
Просмотров: 1636
Последний ответ 19.07.2014, 15:43:47
от oppo
Условия вывода <div class=""> в меню

Автор Snippet

Ответов: 1
Просмотров: 2325
Последний ответ 19.06.2014, 04:30:26
от Snippet
[Решено] Пагинация в Joomla 2.5 Жестко прописать количество элементов на страницу

Автор Зверушь

Ответов: 4
Просмотров: 3593
Последний ответ 10.01.2014, 16:03:03
от Зверушь
Модуль вывода статей

Автор Kulgar

Ответов: 1
Просмотров: 1035
Последний ответ 24.12.2013, 21:38:18
от Kulgar