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

nordrussian

  • Новичок
  • 4
  • 0 / 0
Вопросы по K2
« : 14.06.2011, 22:59:19 »
1. При просмотре фотографии товара в материале в браузере Opera (10, 11, 11.1 ранние версии не проверял) вместо картинки получается, просто черная полоса сверху и маленький квадратик, вот так http://radikal.ru/F/s013.radikal.ru/i325/1106/20/a1d022d480eb.jpg.html скажите куда копать. В других браузерах все отображается корректно даже в IE, в опере смотрел с нескольких компьютеров - везде такое.

2. Можно ли к меню Joomla привязать материалы K2? искал не нашел.

Заранее спасибо.
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #1 : 15.06.2011, 16:58:22 »
1.Если в ИЕ всё даже ок) то проблема не в К2
2.Можно. Объясните подробнее как вы хотите что-бы это отображалось!
Смотрю....
*

nordrussian

  • Новичок
  • 4
  • 0 / 0
Re: Вопросы по K2
« Ответ #2 : 15.06.2011, 22:35:39 »
К пункту меню надо прикрутить ссылку на внешний ресурс, например Форум, как сделать это при помощи k2 не совсем понятно. Чтобы было так например категория "разное" а в ней подкатегории: контакты, доставка, оплата и форум, и когда нажимаешь на форум, ссылка вела на внешний ресурс, где это установить и как?

Надеюсь понятно объяснил.
Заранее спасибо за ответ.
« Последнее редактирование: 15.06.2011, 22:51:20 от nordrussian »
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #3 : 16.06.2011, 15:26:37 »
Так вы каким модулем меню выводите?!
Если стандартным Joomla то просто добавьте после категорий:

Категория "разное" (Главная категория К2)
Под-категории(назначена под-категория к2): контакты,
(назначена под-категория к2)доставка,
(назначена под-категория к2)оплата
(внешняя ссылка с указанием в настройках "Родительский элемент")форум
Смотрю....
*

karencho

  • Захожу иногда
  • 161
  • 0 / 1
Re: Вопросы по K2
« Ответ #4 : 09.10.2011, 21:18:40 »
Люди мощете помочь при создании новой категории выбивает такую ошибку:
Fatal error: Call to undefined function mb_internal_encoding() in Z:\home\localhost\www\test\administrator\components\com_k2\tables\k2category.php on line 49
мощете подсказат= что сделать?
*

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

  • Давно я тут
  • 768
  • 55 / 0
  • лысый умный дядя
Re: Вопросы по K2
« Ответ #5 : 09.10.2011, 21:37:52 »
Версия Joomla и K2 какие?
Сайты на Joomla, разработка и поддержка
----------
Помог ответ - жми плюс!
*

karencho

  • Захожу иногда
  • 161
  • 0 / 1
Re: Вопросы по K2
« Ответ #6 : 10.10.2011, 00:03:39 »
Joomla 1.5.23 K2 4.1
*

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

  • Давно я тут
  • 768
  • 55 / 0
  • лысый умный дядя
Re: Вопросы по K2
« Ответ #7 : 10.10.2011, 01:07:49 »
попробуйте заного перезалить K2 просто тупо установите его поверх имеющегося не удаляя старый и посмотрите исчезнет ли ошибка
Сайты на Joomla, разработка и поддержка
----------
Помог ответ - жми плюс!
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Вопросы по K2
« Ответ #8 : 10.10.2011, 07:00:26 »
Люди мощете помочь при создании новой категории выбивает такую ошибку:
Fatal error: Call to undefined function mb_internal_encoding() in Z:\home\localhost\www\test\administrator\components\com_k2\tables\k2category.php on line 49
мощете подсказат= что сделать?

Пользоваться поиском по форуму и по данному разделу в частности

На шесть топиков ниже аналогичная проблема и её решение.
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #9 : 10.10.2011, 12:57:46 »
День Добрый.
Кто-нибудь видел нормальное меню для К2 2.5.0 ? (желательно слайдер (либо в виде табов)
« Последнее редактирование: 11.10.2011, 13:10:18 от yrygvay »
Смотрю....
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #10 : 11.10.2011, 13:18:40 »
и ещё заметил.
Качал 2 недели назад SVN версию, прошлый раз весила 799 кб а сегодня уже 971 кб.
Либо архивируют по разному) либо на столько больше кода))
Смотрю....
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #11 : 13.10.2011, 00:07:42 »
Ещё вопрос, может кто знает каким способом можно прикрутить коменты к К2 из вконтакте?
Смотрю....
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Вопросы по K2
« Ответ #12 : 13.10.2011, 00:09:01 »
Попробуй переделать Joomline'овские )))
*

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

  • Давно я тут
  • 768
  • 55 / 0
  • лысый умный дядя
Re: Вопросы по K2
« Ответ #13 : 13.10.2011, 00:20:59 »
Попробуй переделать Joomline'овские )))
Ага, а потом им самим же и продавать )))
Сайты на Joomla, разработка и поддержка
----------
Помог ответ - жми плюс!
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #14 : 13.10.2011, 00:31:27 »
просто для стандартного com_content на нашем форуме есть отличный плагин и модуль ,а вот под К2 пога его не делают(
Смотрю....
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Вопросы по K2
« Ответ #15 : 13.10.2011, 00:36:18 »
просто для стандартного com_content на нашем форуме есть отличный плагин и модуль ,а вот под К2 пога его не делают(

Вообще сам К2 поддерживает стандартные события плагинов com_content
Так что надо смотреть, чего им не хватает для интеграции

На первый взгляд - список категорий в настройках и определения адреса статьи в самом плагине.

Да, работает. Не забыть ещё view=='item'
« Последнее редактирование: 13.10.2011, 01:42:14 от SDKiller »
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Re: Вопросы по K2
« Ответ #16 : 13.10.2011, 15:34:01 »
Я приделывал - в item.php шаблона просто код для комментов вставлял.
Ну и в хэд код скрипта.
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #17 : 13.10.2011, 16:04:34 »
а код где брал?
Смотрю....
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Вопросы по K2
« Ответ #18 : 13.10.2011, 16:24:13 »
а код где брал?

http://vkontakte.ru/developers.php?o=-1&p=Comments

Код
<!-- Put this script tag to the <head> of your page -->
<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?34"></script>

<script type="text/javascript">
  VK.init({apiId: XXXXXX, onlyWidgets: true});
</script>

<!-- Put this div tag to the place, where the Comments block will be -->
<div id="vk_comments"></div>
<script type="text/javascript">
VK.Widgets.Comments("vk_comments", {limit: 10, width: "496", attach: "*"});
</script>
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #19 : 13.10.2011, 17:30:09 »
Спасибо... заодно и память размял вспоминая где может быть item.php
Смотрю....
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вопросы по К2 (вывод id, автовыбор категории)

Автор vadyagt

Ответов: 0
Просмотров: 935
Последний ответ 10.12.2014, 22:30:07
от vadyagt
Вопросы по K2

Автор Nikolay

Ответов: 58
Просмотров: 8905
Последний ответ 12.11.2014, 21:48:20
от vilka
Каталог организаций. вопросы по К2

Автор bitterlemon

Ответов: 3
Просмотров: 1802
Последний ответ 19.09.2013, 03:09:51
от bitterlemon
К2 для Joomla 2.5 с нуля. Общие вопросы

Автор dron

Ответов: 2
Просмотров: 1394
Последний ответ 22.01.2013, 23:12:47
от paternoster
Вопросы по тегам, доп полям и сортировке материалов

Автор andreiz

Ответов: 13
Просмотров: 3146
Последний ответ 30.08.2012, 00:26:37
от andreiz