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

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Всем кривет!
Пытаюсь воспользоваться механизмом тегов для организации галереи, но вот как настроить количество элементов на странице - не понимаю.
Хочется получить на выходе 12 итемов на странице и не зависеть при этом от значения в configuration.php.
Вообще, не понимаю, почему у компонентов тегов нет собственной настройки для конкретного пункта меню под это дело. Это же жесть как не удобно.
Может, можно как-то перехватить значение $list_limit и поменять на свое конкретно для нужного пункта меню?
*

sivers

  • Живу я здесь
  • 2606
  • 361 / 0
Компоненты - Метки - Настройки - Закл. "Параметры выбора"- Кол-во элементов (по умолч. 200)

не оно?
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
не, это типа максимальный лимит какой-то, видимо, защита от убийственных запросов.
а количество на странице наследуется от системных настроек.
при этом из админки их не задать в нужном количестве, т.к. значение списка кратно 5.
и эта настройка влияете потом на все списки, даже в админке. типа, в списке статей по дефолту будет тоже 12, если в конфиге руками прописать.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Компоненты - Метки - Настройки - Закл. "Параметры выбора"- Кол-во элементов (по умолч. 200)

не оно?
это если отсутствует пагинация, только 1 страница

как настроить количество элементов на странице
можно попробовать что то из
1. задать количество жестко в шабе Joomla
2. создать свой layout и там добавить параметр количества на странице
3. сделать это плагином
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
при этом из админки их не задать в нужном количестве, т.к. значение списка кратно 5.
это вообще самая дурацкая дурацкость :) я не могу понять почему количество кратно 5 при том что сетка строится исходя из 1-2-3-х элементов в строке :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
можно попробовать что то из
1. задать количество жестко в шабе Joomla
2. создать свой layout и там добавить параметр количества на странице
3. сделать это плагином
Это не подходит, потому что студент - тупой!
нужен конкретный ответ  ;D
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ну а что именно пробуем то? :) в шабе жумлы прописать просто количество норм будет?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
тогда пробуем так
Цитировать
$app  = JFactory::getApplication();
if ($app->input->getRaw('option') == 'com_tags' && $app->input->getRaw('view') == 'tag') {
    $app->set('list_limit', 12);
}
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
собственное, вот так в ядре задается в
\components\com_tags\models\tag.php
Код
			$limit = $params->get('display_num', $app->get('list_limit', 20));
$limit = $app->getUserStateFromRequest('global.list.limit', 'limit', $limit, 'uint');

может на мысль натолкнет
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
вот же шорт, забыл что компонент выполняется раньше шаба... а системного плагина своего (ну который не затрется при обновах) нет случайно, куда это можно вставить?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
попробовать в onAfterDispatch
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
не, вот тут проканало
Код
public function onAfterRoute()
{
$app  = JFactory::getApplication();
if ($app->input->getRaw('option') == 'com_tags' && $app->input->getRaw('view') == 'tag') {
$app->set('list_limit', 12);
}
}

берем свой системный плагин, ищем там секцию onAfterRoute(), если её нет, вставляем на том же уровне, что и другое function on...
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
а, ну да, логично, onAfterDispatch это ж уже после обработки. ну славно :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
сам же все и сделал, я то тут при чем? :) главное - поговорить ))
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Код
$limit = $params->get('display_num', $app->get('list_limit', 20));
А это не означает, что где то в настройках есть?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
угу, есть, но во-первых только в Список элементов (компактный), а во-вторых там опять таки 5,10,20 выбор
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ukrart

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Нашел эту тему, обрадовался, так как очень нужно решить именно эту проблему. Но не понял, где использовать указанный код, в каком файле шаблона/плагина.
Объясните, пожалуйста, подробнее.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
использовать в системном плагине внутри этого события
Код
public function onAfterRoute()

плагин может быть чей-то или ваш. вот тут можно сгененировать болванку с нужным типом события и потом внутрь вставить код
https://alex-d.site/sozdanie-plagina.html
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Вывод значений из custom fields материала в модуле по имени поля

Автор goga_pgasovav

Ответов: 3
Просмотров: 2652
Последний ответ 30.12.2024, 13:22:11
от goga_pgasovav
[Решено] Получить category description image в index.php шаблона

Автор goga_pgasovav

Ответов: 6
Просмотров: 2286
Последний ответ 12.07.2024, 17:06:14
от goga_pgasovav
Шорткоды baforms в кастомном компоненте

Автор oxbeat

Ответов: 2
Просмотров: 1064
Последний ответ 20.02.2024, 00:41:29
от oxbeat
[Решено] Перестали работать переходы по меню сайта

Автор AlexP750

Ответов: 12
Просмотров: 2757
Последний ответ 06.02.2024, 12:42:26
от AlexP750
Вывод даты материала в списке тегов

Автор androv77

Ответов: 2
Просмотров: 2518
Последний ответ 09.11.2023, 16:33:08
от denxio