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

tim222

  • Захожу иногда
  • 67
  • 2 / 0
Здравствуйте, назрела необходимость в переделке юзабилити сайта. Так вот, у меня сайт с онлайн фильмами построен он на K2, но вот вывод материалов в категории перестал меня устраивать, пользователю для того чтобы найти какойто фильм приходится много страничек перелистывать.. неудобно это да и никчему. Однако есть выход этого избежать при этом сделать новый вывод материалов в категории более красивым что не мало важно. Так вот вопрос как с помощью модуля Icecaption можно такое реализовать?) вот ссылка на демо модуля http://demo.icetheme.com/extensions/icecaption.html - там вместо всяких картинок можно будет вставлять изображение фильма, а вывод самого материала оставить как есть. вот впрочем мой сайт www.kinolodka.ru кстати у меня на сайте этот модуль применен в футере. работает замечательно.. вопрос как засунуть его в Content ну и сделать постраничную навигацию))
*

VadimY

  • Осваиваюсь на форуме
  • 30
  • 1 / 0
Re: Компактный вывод материалов K2
« Ответ #1 : 05.06.2011, 01:56:25 »
Модуль интересный, но у меня он не работает, просто ничего не показывает и всё. А у вас?
Прочел у них на форуме, что бывают проблемы с некоторыми шаблонами....

Разобрался... Он конфликтует если System - Mootools Upgrade включен
Но всё равно, пока как-то криво работает...
« Последнее редактирование: 05.06.2011, 02:21:57 от VadimY »
*

tim222

  • Захожу иногда
  • 67
  • 2 / 0
Re: Компактный вывод материалов K2
« Ответ #2 : 05.06.2011, 12:40:13 »
У меня работает нормльно.. но вот мечта, чтобы материалы в категории представлялись в виде миниатюр с описанием выплывающим при наведении на миниатюру, ну и естественно чтобы постраничная навигация была)
*

tim222

  • Захожу иногда
  • 67
  • 2 / 0
Re: Компактный вывод материалов K2
« Ответ #3 : 05.06.2011, 21:18:34 »
Нда) видать форум созданный нубами для нубов.. практически все темы в данной ветки остаются без вменяемых ответов.
*

Очередной вебмастер

  • Давно я тут
  • 768
  • 55 / 0
  • лысый умный дядя
Re: Компактный вывод материалов K2
« Ответ #4 : 05.06.2011, 23:49:12 »
вопрос как засунуть его в Content
Используйте родной плагин Joomla - Вставка модуля в материал.
Так вот вопрос как с помощью модуля Icecaption можно такое реализовать?)
См. ответ выше + сам модуль Icecaption
Сайты на Joomla, разработка и поддержка
----------
Помог ответ - жми плюс!
*

tim222

  • Захожу иногда
  • 67
  • 2 / 0
Re: Компактный вывод материалов K2
« Ответ #5 : 06.06.2011, 13:00:22 »
Используйте родной плагин Joomla - Вставка модуля в материал.См. ответ выше + сам модуль Icecaption
Это немного не тот результат, так как для того чтобы это реализовать, прийдется создавать материалл, в материале прописывать позицию модуля, после чего, в нужном материале, в позиции контента появится необходимый мне модуль Icecaption.. но это подходит для тех случаев если необходимость такого представления материала в категории единична.. А у меня идет речь о том чтобы стиль отображения материалов в категории приобрел вид модуля icecaption. Только в таком варианте есть резон извращаться) Да и при вставке материалов по вашему методу будет сплашной геморой, так как прийдется создавать кучу модулей, указывать в них id материала итд
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Re: Компактный вывод материалов K2
« Ответ #6 : 06.06.2011, 14:19:31 »
Ну так есть файлы шаблона вывода категории.
Каждый блок кода в них закомментирован разработчиком.

Изменяйте этот шаблон, как хотите.


Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

tim222

  • Захожу иногда
  • 67
  • 2 / 0
Re: Компактный вывод материалов K2
« Ответ #7 : 06.06.2011, 18:56:05 »
Вобщем вот наглядный пример того как хочу организовать вывод материалов на сайте -
По поводу редактирования шаблона вывода материалов K2, для меня это достаточно сложно, могу по мелочи чтото подправлять ну или изменить стиль отображения. А в данной проблеме необходимо скрипт прикручивать к К2 а как это сделать я както даже и незнаю, притом что примеров не нашел.
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Re: Компактный вывод материалов K2
« Ответ #8 : 07.06.2011, 12:53:04 »
Я бы на твоем месте использовал что-то типа Gavick Pro Photoslide GK3.
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

tim222

  • Захожу иногда
  • 67
  • 2 / 0
Re: Компактный вывод материалов K2
« Ответ #9 : 07.06.2011, 14:06:04 »
Спасибо за совет, сейчас гляну что это за чудо.

Посмотрел.. К сожалению данный модуль не подойдет под реализацию моей задачи. Всеравно еще раз спасибо за внимание к теме:)
« Последнее редактирование: 07.06.2011, 14:10:48 от tim222 »
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Re: Компактный вывод материалов K2
« Ответ #10 : 07.06.2011, 15:28:46 »
Он подойдет, если не использовать в качестве вывода материалов k2 - каждый слайд может ссылаться на статью Joomla.
И вид у слайдов как раз, как на скриншоте.
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

tim222

  • Захожу иногда
  • 67
  • 2 / 0
Re: Компактный вывод материалов K2
« Ответ #11 : 08.06.2011, 20:21:29 »
Решил для себя данную проблему, но немного другим способом. На главной у меня будут выводиться миниатюры для нескольких блоков Таких как новинки, Бест недели итд. А остальное останется по старому.
К чему я всю эту конетель затеял) Так как часто в метрике вижу неправельные результаты выдачи- например пользователь ищет в Google фильм аватар.. заходя на сайт, он попадает на давнишнюю страницу, page20.. а фильма там уже нет, так как после добавления новых фильмов нужный ему фильм сполз уже на page30 итд.. конечно можно воспользоваться поиском по сайту или найти фильм в категориях, но это все не то. Вот и пришлось убрать такой вот вывод материалов на главной.
*

tim222

  • Захожу иногда
  • 67
  • 2 / 0
Re: Компактный вывод материалов K2
« Ответ #12 : 09.06.2011, 23:34:17 »
Кстати вот и результат) kinolodka . ru
*

Очередной вебмастер

  • Давно я тут
  • 768
  • 55 / 0
  • лысый умный дядя
Re: Компактный вывод материалов K2
« Ответ #13 : 10.06.2011, 00:14:17 »
Кстати вот и результат) kinolodka . ru
ага, а вот другой результат http://www.webpagetest.org/result/110609_DA_STV5/1/details/
Сайты на Joomla, разработка и поддержка
----------
Помог ответ - жми плюс!
*

tim222

  • Захожу иногда
  • 67
  • 2 / 0
Re: Компактный вывод материалов K2
« Ответ #14 : 10.06.2011, 08:42:06 »
У меня хостер дерьмаватый)) всегда проблемы с загрузкой были.. Кстати работая с К2 заметил еще одну фишку. Я для уменьшения веса страницы скачал на комп все изображения используемые в материалах. Далее сжал их пакетным образом до небалуйся. Итог изображение весившее 40 килобайт стало весить 6-10кб. Но созданые эскизы для модуля Icecaption почемуто получили размер даже больше оригинального размера, тоесть если оригинальное изображение до сжатия весило 30кб, то в эскизе Icecaption оно стало весить порядка 50кб.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перенос материалов из Joomla3 + K2 в Joomla4

Автор Magnum79

Ответов: 0
Просмотров: 1468
Последний ответ 24.05.2024, 21:49:14
от Magnum79
Как добавить свой класс для страниц вывода материалов по тегу k2?

Автор Slava77

Ответов: 0
Просмотров: 4074
Последний ответ 16.02.2023, 23:29:34
от Slava77
Наполняя категорию K2 копированием материалов, пропадает навигация в статьях

Автор Slava77

Ответов: 4
Просмотров: 3025
Последний ответ 24.12.2021, 22:30:56
от Slava77
K2 Store - вывод Product Options в карточке товара

Автор John_Flores

Ответов: 1
Просмотров: 1058
Последний ответ 26.11.2021, 12:04:32
от John_Flores
Перестала работать опция оценки материалов/рейтинг в компоненте K2

Автор Yonakano

Ответов: 4
Просмотров: 1764
Последний ответ 07.02.2021, 00:30:57
от Yonakano