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

melory

  • Захожу иногда
  • 63
  • 0 / 0
K2 Комментарии вконтакте
« : 07.04.2013, 12:30:51 »
Всем Привет!
Можно ли как нибудь убрать родную систему комментариев K2 и установить систему комментариев из vk?
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: K2 Комментарии вконтакте
« Ответ #1 : 07.04.2013, 16:23:43 »
Можно конечно. Есть и плагины готовые, можно ручками шаблон поправить - мне проще 2 вариант.
*

melory

  • Захожу иногда
  • 63
  • 0 / 0
Re: K2 Комментарии вконтакте
« Ответ #2 : 07.04.2013, 16:53:09 »
Можно конечно. Есть и плагины готовые, можно ручками шаблон поправить - мне проще 2 вариант.
Подскажеш второй вариант как сделать?Пожалуйста!
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: K2 Комментарии вконтакте
« Ответ #3 : 07.04.2013, 17:24:56 »
components\com_k2\templates\default\item.php - шаблон вывода одного материала k2
ищите вывод комментариев, в последней версии k2 это строки с 574 по 673 включительно их можно удалить, если вы не будете использовать стандартные комментарии, можно просто выключить в админке в настройках k2
на их место вставляйте код виджета который можно взять - http://vk.com/developers.php?p=Comments
вот и все в принципе
*

melory

  • Захожу иногда
  • 63
  • 0 / 0
Re: K2 Комментарии вконтакте
« Ответ #4 : 07.04.2013, 17:50:53 »
components\com_k2\templates\default\item.php - шаблон вывода одного материала k2
ищите вывод комментариев, в последней версии k2 это строки с 574 по 673 включительно их можно удалить, если вы не будете использовать стандартные комментарии, можно просто выключить в админке в настройках k2
на их место вставляйте код виджета который можно взять - http://vk.com/developers.php?p=Comments
вот и все в принципе
А если к примеру не удалять строки, а выключить то на какой строке надо ставить код виджета комментариев vk?
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: K2 Комментарии вконтакте
« Ответ #5 : 07.04.2013, 18:29:13 »
А попробовать не судьба? Можно ведь хоть немного пытаться думать головой....
Делайте копию файла на всякий случай и экспериментируйте, вставляйте в разные места пока не подберете подходящее.
Если логически рассуждать, то если вы отключите в настройках, то код нужно вставить либо над теми строками, либо под ними.
*

melory

  • Захожу иногда
  • 63
  • 0 / 0
Re: K2 Комментарии вконтакте
« Ответ #6 : 07.04.2013, 18:48:47 »
А попробовать не судьба? Можно ведь хоть немного пытаться думать головой....
Делайте копию файла на всякий случай и экспериментируйте, вставляйте в разные места пока не подберете подходящее.
Если логически рассуждать, то если вы отключите в настройках, то код нужно вставить либо над теми строками, либо под ними.
Установил перед 574 не сработало, потом после строки 673..результат отрицательный(
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: K2 Комментарии вконтакте
« Ответ #7 : 07.04.2013, 19:34:36 »
Возможно у вас в шаблоне переопределены эти файлы
посмотрите в templates/ваш шаблон/html/com_k2 - есть? если да, то тот файл нужно править там.
*

melory

  • Захожу иногда
  • 63
  • 0 / 0
Re: K2 Комментарии вконтакте
« Ответ #8 : 07.04.2013, 21:52:39 »
Возможно у вас в шаблоне переопределены эти файлы
посмотрите в templates/ваш шаблон/html/com_k2 - есть? если да, то тот файл нужно править там.
Действительно по пути templates/ваш шаблон/html/com_k2 я нашел предопределенные файлы, проделал с ними те же операции и без изменений..
« Последнее редактирование: 07.04.2013, 21:56:33 от melory »
*

kvas777

  • Новичок
  • 8
  • 0 / 0
  • www.joomlaved.ru All for joomla
Re: K2 Комментарии вконтакте
« Ответ #9 : 07.04.2013, 22:07:15 »
Всем Привет!
Можно ли как нибудь убрать родную систему комментариев K2 и установить систему комментариев из vk?
Многие сейчас ставят Cackle
По моему это удобно
Cackle - это realtime система комментирования с возможностью авторизации через популярные социальные сети, такие как Google+, Facebook, Twitter, LinkedIn, Вконтакте, Одноклассники, Мой Мир и многие другие
http://ru.cackle.me/welcome
Есть интеграция с Joomla
*

melory

  • Захожу иногда
  • 63
  • 0 / 0
Re: K2 Комментарии вконтакте
« Ответ #10 : 07.04.2013, 22:11:29 »
Многие сейчас ставят Cackle
По моему это удобно
Cackle - это realtime система комментирования с возможностью авторизации через популярные социальные сети, такие как Google+, Facebook, Twitter, LinkedIn, Вконтакте, Одноклассники, Мой Мир и многие другие
http://ru.cackle.me/welcome
Есть интеграция с Joomla
Спасибо, но меня интересует только система кометариев вконтакте..Неужели в к2 никак нельзя это сделать?
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: K2 Комментарии вконтакте
« Ответ #11 : 07.04.2013, 22:19:26 »
Я не знаю как вы так делаете, что у вас не выходит. Я вам все правильно написал. Я делал это неоднократно.
Дайте что ли ссылку на сайт. Приведите код своего файла, который правите.
*

kvas777

  • Новичок
  • 8
  • 0 / 0
  • www.joomlaved.ru All for joomla
Re: K2 Комментарии вконтакте
« Ответ #12 : 08.04.2013, 13:32:26 »
/components/com_k2/templates/default/item_comments_form.php
можно удалить родные, а можно закомментировать строки.
И сюда вставляешь код комментариев в контакте, я так делал
*

melory

  • Захожу иногда
  • 63
  • 0 / 0
Re: K2 Комментарии вконтакте
« Ответ #13 : 09.04.2013, 00:48:00 »
/components/com_k2/templates/default/item_comments_form.php
можно удалить родные, а можно закомментировать строки.
И сюда вставляешь код комментариев в контакте, я так делал
А с какой строки редактировать?
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: K2 Комментарии вконтакте
« Ответ #14 : 09.04.2013, 07:30:21 »
А с какой строки редактировать?
Если вы отключили в настройках комментарии, то смысла нет править этот файл, у вас ничего не выведется.
Это то же самое практически, что я вам написал. В тех строках что я писал происходит подключение этого файла.
*

melory

  • Захожу иногда
  • 63
  • 0 / 0
Re: K2 Комментарии вконтакте
« Ответ #15 : 10.04.2013, 19:58:59 »
Я не знаю как вы так делаете, что у вас не выходит. Я вам все правильно написал. Я делал это неоднократно.
Дайте что ли ссылку на сайт. Приведите код своего файла, который правите.

В данный момент я пытаюсь розобрать шаблон ZT Ence, после строки 673 я оставил код виджета комментариев вконтакте при этом отключил комментарии к2.В шаблоне ZT Ence блок комнтариев vk не появился, а вот в других шаблонах блок коменариев появляется..Не могу понять почему так?
*

Dexus

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
Re: K2 Комментарии вконтакте
« Ответ #16 : 11.04.2013, 09:34:47 »
Чем так измываться над собой, лучше действительно купите плагин JL Like PRO, от тех же производителей, что и Cackle, но там только вконтакте комментарии. В настройках есть опция что-то вроде "вместо комментариев К2", и всё.
Но если хотите для собственного развития, то конечно лучше своими руками код заменить, но после обновления К2 всё что изменили сбросится к номиналу, и опять придется по новому искать и менять.
*

klara7

  • Захожу иногда
  • 311
  • 4 / 1
Re: K2 Комментарии вконтакте
« Ответ #17 : 18.04.2013, 15:55:05 »
/components/com_k2/templates/default/item_comments_form.php
можно удалить родные, а можно закомментировать строки.
И сюда вставляешь код комментариев в контакте, я так делал
Поставила комментарии  CACKLE. Родные хоть и отключила, тем неменее, запросы они все же создают. хочу удалить их полностью. Как это сделать - файл item_comments_form.php удалить полностью?
*

barbosss

  • Захожу иногда
  • 146
  • 0 / 0
Re: K2 Комментарии вконтакте
« Ответ #18 : 26.02.2015, 09:57:28 »
components\com_k2\templates\default\item.php - шаблон вывода одного материала k2
ищите вывод комментариев, в последней версии k2 это строки с 574 по 673 включительно их можно удалить, если вы не будете использовать стандартные комментарии, можно просто выключить в админке в настройках k2
на их место вставляйте код виджета который можно взять - http://vk.com/developers.php?p=Comments
вот и все в принципе
Подскажите, а можно ли реализовать модерацию комментариев. Что бы они добавлялись только после подтверждения администратора!?Спасибо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Комментарии в компоненте

Автор backovadim

Ответов: 0
Просмотров: 814
Последний ответ 22.05.2018, 16:01:08
от backovadim
комментарии автору

Автор kira

Ответов: 2
Просмотров: 1207
Последний ответ 27.11.2017, 11:26:39
от kira
Не публикуются комментарии в K2

Автор a.nikol

Ответов: 4
Просмотров: 1360
Последний ответ 24.06.2017, 19:31:09
от lenasha-dn
К2 и соц-сети - вход/комментарии

Автор darkghost

Ответов: 5
Просмотров: 1335
Последний ответ 02.11.2016, 17:35:48
от Septdir
Социальные комментарии в К2

Автор Vipnatalia

Ответов: 2
Просмотров: 1510
Последний ответ 31.07.2016, 20:12:05
от Septdir