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

Efidrin

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Установка шаблона
« : 10.04.2011, 22:04:04 »
Всем доброго времени суток! Добрые люди, объясните в чём я не прав и что мне делать. Установил Joomla на сервер, русифицировал. Очень нужно установить шаблон YooTheme Spark. При скачивании получаю 3 архива от темы:
1. yoo_spark_5.5.0_j15
2. yoo_spark_image_sources
3. yoo_spark_installation_package
При установке первого, т.е. самого файла темы, пишет "Установить Шаблон: Удачно"
При попытке установить второе пишет "Ошибка! Установочный XML-файл не найден в пакете"
При попытке установить третье тоже пишет "Ошибка! Установочный XML-файл не найден в пакете"
Интересно то, что шаблон не отображается нормально и полностью как на превью.
Во втором архиве лежит одно изображение layout. Куда его бросать, что с ним делать - не ясно. Но как архив, он не устанавливается в админ панели.
В третьем архиве лежат папки такие же как в корневой категории на сервере (типа administrator,cache,components). Как архив он тоже не устанавливается через установку дополнений. А когда просто их закидываю на сервер с заменой файлов - ничего не меняется, шаблон так же криво показывается.
Очень нужно именно данный шаблон установить. Прошу у вас помощи! !
*

Efidrin

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: Установка шаблона
« Ответ #1 : 12.04.2011, 22:06:33 »
Спасибо конечно что помогли)
Но всё же если будут такие как я то решение вопроса:
1. yoo_spark_5.5.0_j15 сама тема, без плагинов и дополнений.
для установки работоспособной темы нужно снести  Joomla, и поставить Quick start
Порядок установки:
Сначала надо извлечь из скачанного архива с шаблоном quickstart. Это весь дистрибутив Joomla с базой данных, рисунками и файлами, одним словом рабочий, наполненный сайт. Залейте этот zip-файл на хостинг, в корневую директорию и разархивируйте. Проследите за тем, чтобы дистрибутив не лежал внутри самого себя. Не должно быть название_шаблона_quickstart/название_шаблона_quickstart.zip. Потом делаете всё то же самое, что и во время обычной установки Joomla. Не забудьте установить демо-данные. В архиве может быть инструкция. В ней написан пароль. Обновите версию Joomla до последнего релиза можно записав новые файлы поверх старых. Не бойтесь. Будет работать. Проверено!

Re: Установка шаблона
« Ответ #2 : 25.10.2011, 00:25:07 »
Абсолютно та же проблема была с установкой шаблона It University
скачал 1.7.2 full, установил на денвер! добавлял  кучу тем в том числе и It University
Ничего не заливается, ничего не работает
Тупо оказалось, что нужно было ставить Jooml-у из архива темы и тогда собственно это тема ибудет работать
Если честно не прочел об этом нигде на форуме
Да я новичок) И уже есть не один вопрос как быть дальше) Юзаю серч во избежании камней в мой огород)
*

NIKI333

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: Установка шаблона
« Ответ #3 : 16.03.2012, 17:26:00 »
Привет, не знаю может не совсем по теме.....
У меня в опере этот шаблон на широкоформатном мониторе тоже выдает баг, весь материал ниже меню сужается до уровня столбща.....ничерта не видно, это касается материала и расширений, а вот в тойже опере на обычном монике все гуд! я попробывал использовать модули, наполняя их текстом, это немного помогло (текст стал отображаться хорошо, но вот привязать модуль к меню не знаю как и + ко всему я использую morfeo галерею, а она в модуле не работает только в статьях, Короче галимый шаблон оказался..... незнаю что и делать,
ЕСЛИ КТО ЗНАЕТ, ПОДСКАЖИТЕ, ЧТО И ГДЕ НАДО ПРАВИТЬ!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести путь до шаблона с помощью API Joomla?

Автор elche

Ответов: 13
Просмотров: 15806
Последний ответ 11.09.2018, 23:48:50
от DK-Scorp
Стили шаблона

Автор karkan25

Ответов: 12
Просмотров: 4535
Последний ответ 21.05.2017, 16:40:32
от karkan25
Проблема с изменением логотипа штатного шаблона rhuk_milkyway Joomla_1.5

Автор Porohok

Ответов: 6
Просмотров: 4866
Последний ответ 22.03.2017, 10:34:23
от Porohok
Настройка неадаптивного шаблона

Автор Zegeberg

Ответов: 4
Просмотров: 4588
Последний ответ 21.06.2016, 00:21:06
от Zegeberg
Редактирование шаблона

Автор gdmitry

Ответов: 1
Просмотров: 4416
Последний ответ 04.06.2016, 20:25:32
от Taatshi