Новости Joomla

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

👩‍💻 Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод triggerEvent(), с помощью которого раньше вызывались события для плагинов. Теперь чтобы в своём коде вызвать событие для плагина и получить от него результаты нужно:- создать объект класса события- передать в него параметры

use Joomla\CMS\Event\AbstractEvent;use Joomla\CMS\Factory;use Joomla\CMS\Plugin\PluginHelper;// Грузим плагины нужных группPluginHelper::importPlugin('system');// Создаём объект события$event = AbstractEvent::create('onAfterInitUniverse', [    'subject' => $this,    'data'    => $data, // какие-то данные    'article' => $article, // ещё материал вдовесок    'product' => $product, // и товаров подвезли]);// Триггерим событиеFactory::getApplication()->getDispatcher()->dispatch(    $event->getName(), // Тут можно строку передать 'onAfterInitUniverse'    $event);// Получаем результаты// В случае с AbstractEvent это может быть не 'result',// а что-то ещё - куда сами отдадите данные.// 2-й аргумент - значение по умолчанию, // если не получены результаты$results = $event->getArgument('result', []);
Плюсы такого подхода - вам не нужно запоминать порядок аргументов и проверять их наличие. Если вы написали свой класс события, то в плагине можно получать аргументы с помощью методов $event->getArticle(), $event->getData(), $event->getProduct() и подобными - реализуете сами под свои нужды. Если такой класс события написали, то создаёте экземпляр своего класса события и укажите его явно в аргументе eventClass
use Joomla\Component\MyComponent\Administrator\Event\MyCoolEvent;$event = MyCoolEvent::create('onAfterInitUniverse', [    'subject'    => $this,    'eventClass' => MyCoolEvent::class, // ваш класс события    'data'       => $data, // какие-то данные    'article'    => $article, // ещё материал вдовесок    'product'    => $product, // и товаров подвезли]);
Ожидаемо, что класс вашего события будет расширять AbsractEvent или другие классы событий Joomla.🙁 Есть неприятный нюанс - нельзя просто так вызывать событие и ничего не передать в аргументы. Аргумент subject обязательный. Но если вы всё-таки не хотите туда ничего передавать - передайте туда пустой stdClass или объект Joomla\registry\Registry.
@joomlafeed#joomla #php #webdev

0 Пользователей и 1 Гость просматривают эту тему.
  • 10 Ответов
  • 841 Просмотров
*

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Всем привет.
Нарисовалась непонятка. Стоит шаблон vina_veneno Версия 2.1.8. Вношу правки в файл template.css. Через время их нету . Честно не заметил на следующий день, или нет, так как это сайт клиента и он просил изменить немного стили. Но упорно стили становятся такими как были и все правки исчезают. В логах ничего нету подозрительного. Ни у кого такого не было?
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Слетают правки шаблон vina_veneno
« Ответ #1 : 19.10.2020, 10:03:06 »
Всем привет.
Нарисовалась непонятка. Стоит шаблон vina_veneno Версия 2.1.8. Вношу правки в файл template.css. Через время их нету . Честно не заметил на следующий день, или нет, так как это сайт клиента и он просил изменить немного стили. Но упорно стили становятся такими как были и все правки исчезают. В логах ничего нету подозрительного. Ни у кого такого не было?
Скорей всего файл template.css пересоздается каждое сохранение настроек шаблона
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Re: Слетают правки шаблон vina_veneno
« Ответ #2 : 19.10.2020, 10:05:01 »
Скорей всего файл template.css пересоздается каждое сохранение настроек шаблона
Да там препроцессор LESS - и он компилирует в CSS -
 - Вам надо LESS файлы править - а не CSS
*

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Re: Слетают правки шаблон vina_veneno
« Ответ #3 : 19.10.2020, 10:05:12 »
Скорей всего файл template.css пересоздается каждое сохранение настроек шаблона
Как? Если никто не лез в настройки шаблона в админке.
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Слетают правки шаблон vina_veneno
« Ответ #4 : 19.10.2020, 10:08:02 »
Как? Если никто не лез в настройки шаблона в админке.
Это просто моё предположение. Шаблон этот не юзал и не знаю что на самом деле...
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Re: Слетают правки шаблон vina_veneno
« Ответ #5 : 19.10.2020, 10:14:52 »
Да там препроцессор LESS - и он компилирует в CSS -
 - Вам надо LESS файлы править - а не CSS
Спасибо за наводку.
Короче в настройках шаблона в вкладке Дополнительные настройки отключил LESS
Теперь при нажатии Сохранить в админке в шаблоне не слетает. Вопрос правда кто лез в админке туда остался но зато теперь не слетает если внести исправления в template.css
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Слетают правки шаблон vina_veneno
« Ответ #6 : 19.10.2020, 10:16:12 »
Большинство шаблонов поддерживают подключение кастомного файла стилей /css/custom.css
Создайте свой файл, добавьте свои правила стиля .
*

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Re: Слетают правки шаблон vina_veneno
« Ответ #7 : 19.10.2020, 10:40:17 »
custom.css
Спасибо так и сделал.
*

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Re: Слетают правки шаблон vina_veneno
« Ответ #8 : 11.12.2020, 12:52:21 »
Большинство шаблонов поддерживают подключение кастомного файла стилей /css/custom.css
Создайте свой файл, добавьте свои правила стиля .
Добрый день
А не подскажите что за фигня может быть. Два сайта один и тот же шаблон. У одного поддерживает /css/custom.css а второй не видит вообще этот файл и не реагирует на него.
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
Re: Слетают правки шаблон vina_veneno
« Ответ #9 : 11.12.2020, 12:53:43 »
посмотрите в индексе есть ли подключение файла
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Слетают правки шаблон vina_veneno
« Ответ #10 : 11.12.2020, 13:09:03 »
Два сайта один и тот же шаблон. У одного поддерживает /css/custom.css а второй не видит вообще этот файл и не реагирует на него
может быть опция вкл/откл /custom.css в стилях шаблона .
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Шаблон jm MyPlace - не воспроизводится видео

Автор THE KILLERS

Ответов: 2
Просмотров: 1877
Последний ответ 23.07.2024, 13:58:16
от THE KILLERS
Ошибка при входе в корзину шаблон jmart

Автор dimiur

Ответов: 5
Просмотров: 4731
Последний ответ 24.05.2023, 14:24:30
от Gleb72
Почему обновление шаблона ломает шаблон?

Автор gorbi_U

Ответов: 8
Просмотров: 3246
Последний ответ 03.05.2023, 22:54:19
от SmiP
Нужно ли переносить custom.css при переезде на новый шаблон?

Автор gorbi_U

Ответов: 3
Просмотров: 2624
Последний ответ 09.02.2023, 21:05:42
от marksetter
Где в Joomla 3.4.3 шаблон материала? Шаблон Yootheme Organic

Автор annushka

Ответов: 13
Просмотров: 5760
Последний ответ 13.09.2022, 11:14:56
от tuztref