Новости 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 Ответов
  • 1564 Просмотров
*

Dusk09

  • Захожу иногда
  • 100
  • 0 / 0
Здравствуйте! Планирую продвигать сайт с помощью листовок возле станций метро )) Подскажите какими инструментами реализовать статистику посещений на сайт с различных точек раздачи листовок? Т.Е. как узнать где листовки более эффективны. к примеру с станции "Бабушкино" зашло 23 посетителя. а с станции "Дедушкино" -55, чтобы понять где целесообразней раздавать листовки? Создавать отдельные страницы под каждую станцию метро с переадресацией на главную страницу сайта?? Спасибо  
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Статистика посещений постранично
« Ответ #1 : 15.07.2015, 14:20:01 »
Вы сначала расскажите, как будете определять, откуда человек зашел на сайт. Минуточку, или именно об этом и спрашиваете?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Статистика посещений постранично
« Ответ #2 : 15.07.2015, 14:56:44 »
Можно к ссылке добавлять метки, по которым и видеть.
Чтоб вручную их человек не набирал - давать ссылки через сокращатели (или свой написать) + для удобства добавить разные QR-коды
*

Dusk09

  • Захожу иногда
  • 100
  • 0 / 0
Re: Статистика посещений постранично
« Ответ #3 : 15.07.2015, 16:25:17 »
Можно к ссылке добавлять метки, по которым и видеть.
Чтоб вручную их человек не набирал - давать ссылки через сокращатели (или свой написать) + для удобства добавить разные QR-коды
Ссылку сформируем и QR-код добавим (спасибо за наводку), но как чтобы эти ссылки по которым перешел пользователь учитывались статистикой. Смотри первое сообщение.
*

Dusk09

  • Захожу иногда
  • 100
  • 0 / 0
Re: Статистика посещений постранично
« Ответ #4 : 15.07.2015, 16:26:20 »
Вы сначала расскажите, как будете определять, откуда человек зашел на сайт. Минуточку, или именно об этом и спрашиваете?
Именно, в этом и вопрос ОТКУДА ? т.е. где человек получил рекламную листовку.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Статистика посещений постранично
« Ответ #5 : 15.07.2015, 16:53:31 »
Бабушкино - 01
Дедушкино - 02

В листовках для
1. "Бабушкино" - указываем www.мой_сайт.ru?loc=01
2. "Дедушкино" - указываем www.мой_сайт.ru?loc=02

Считаем параметр "loc".
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Dusk09

  • Захожу иногда
  • 100
  • 0 / 0
Re: Статистика посещений постранично
« Ответ #6 : 15.07.2015, 17:41:04 »
Бабушкино - 01
Дедушкино - 02

В листовках для
1. "Бабушкино" - указываем www.мой_сайт.ru?loc=01
2. "Дедушкино" - указываем www.мой_сайт.ru?loc=02

Считаем параметр "loc".
Спасибо Вам за оперативные и исчерпывающие ответы.
Но я новичек в Joomla, что за параметр лок? как настроить его подсчет? Спасибо Вам за помощь новым веб строителям ))
*

Dusk09

  • Захожу иногда
  • 100
  • 0 / 0
Re: Статистика посещений постранично
« Ответ #7 : 21.07.2015, 10:23:47 »
Ребят, ну подскажите как лучше реализовать ??
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Статистика посещений постранично
« Ответ #8 : 21.07.2015, 10:36:19 »
Судя по вашим постам, сами не справитесь. Разместите заказ в комм.раздел.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Dusk09

  • Захожу иногда
  • 100
  • 0 / 0
Re: Статистика посещений постранично
« Ответ #9 : 21.07.2015, 11:23:46 »
Судя по вашим постам, сами не справитесь. Разместите заказ в комм.раздел.
справлюсь... я упрямый ))) вы скажите хотя бы в какую сторону "копать" да и не хочется быть паразитом  ;)
« Последнее редактирование: 21.07.2015, 11:32:14 от Dusk09 »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Статистика посещений постранично
« Ответ #10 : 21.07.2015, 12:02:24 »
Вам нужно написать скрипт, который будет считать количество обращений к сайту по значениям параметра "loc" (я его так назвал от слова location, можно по-своему) и записывать результат в файл или в базу. Так вы будете знать, сколько обращений было с loc=01 и сколько - с loc=02.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Dusk09

  • Захожу иногда
  • 100
  • 0 / 0
Re: Статистика посещений постранично
« Ответ #11 : 21.07.2015, 12:06:10 »
Вам нужно написать скрипт, который будет считать количество обращений к сайту по значениям параметра "loc" (я его так назвал от слова location, можно по-своему) и записывать результат в файл или в базу. Так вы будете знать, сколько обращений было с loc=01 и сколько - с loc=02.
Я понял.. но это в идеале....  а если новичку нет никаких модулей? Тогда если старым метод в стиле HTML - Создавать отдельные страницы под каждую станцию метро с переадресацией на главную страницу сайта??
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Статистика посещений постранично
« Ответ #12 : 21.07.2015, 12:08:29 »
Я не знаю никаких таких модулей. И не совсем понял, что даст ваш метод.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Dusk09

  • Захожу иногда
  • 100
  • 0 / 0
Re: Статистика посещений постранично
« Ответ #13 : 21.07.2015, 12:12:54 »
Я не знаю никаких таких модулей. И не совсем понял, что даст ваш метод.
В расширении К2 по умолчанию есть возможность отслеживания посещений, т.н. "Хиты" и вот по хитам я пойму сколько юзеров зашло нас траницу Дедушкино, а сколько на Бабушкино...
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Статистика посещений постранично
« Ответ #14 : 21.07.2015, 12:19:00 »
Не пользуюсь К2, не могу ничего об этом сказать, но раз есть идея, надо ее реализовать. Чего же вы ждете?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Viktop

  • Захожу иногда
  • 97
  • 5 / 0
Re: Статистика посещений постранично
« Ответ #15 : 21.07.2015, 12:35:17 »
сделайте пронумерованные листовки. а на сайте за ввод номера давайте какую нибудь плюшку. плюшка должна быть достаточно мативирующей, что бы человек не поленился ввести номер с листовки.
*

Dusk09

  • Захожу иногда
  • 100
  • 0 / 0
Re: Статистика посещений постранично
« Ответ #16 : 21.07.2015, 14:17:29 »
сделайте пронумерованные листовки. а на сайте за ввод номера давайте какую нибудь плюшку. плюшка должна быть достаточно мативирующей, что бы человек не поленился ввести номер с листовки.
хорошее предложение.., но как же его реализовать?? Куда вводить, как отследить ?
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Статистика посещений постранично
« Ответ #17 : 21.07.2015, 14:35:47 »
Всё уже посоветовано много раз выше.
Человек просто хочет, чтоб за него сделали, тему на свалку.
*

Dusk09

  • Захожу иногда
  • 100
  • 0 / 0
Re: Статистика посещений постранично
« Ответ #18 : 21.07.2015, 15:13:47 »
Всё уже посоветовано много раз выше.
Человек просто хочет, чтоб за него сделали, тему на свалку.
Покажи пальцем где в теме указано хотя бы одно расширение или модуль с помощью которого можно это реализовать ! О том что для этих целей нужно создавать спец. скрипты. и так все понимают... но существуют же и альтернативные методы (модули, расширения), которые известны опытным пользователям. Я думал форум для этого и создан чтобы получать ответы, а не для того чтобы ответы были типа Вашего или "Да тут и так все понятно", "Это же элементарно!" ... Кому элементарно и понятно - хорошо, мне например не очень, но я, к примеру, могу Вам поведать отличие Криминального кодекса от Административного и т.п....
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Статистика посещений постранично
« Ответ #19 : 21.07.2015, 15:22:43 »
Зачем расширение? Там просто брать и делать..
Как - зависит от того, чем статистику смотреть.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Статистика - Аналитика - PIWIK

Автор oriol

Ответов: 3
Просмотров: 3197
Последний ответ 16.08.2013, 18:18:12
от skai
Накрутка счётчика посещений

Автор den2904

Ответов: 2
Просмотров: 2426
Последний ответ 21.04.2013, 23:38:51
от ChaosHead
Статистика по разрешению экранов для России существует?

Автор borro

Ответов: 5
Просмотров: 6638
Последний ответ 19.03.2012, 17:53:15
от ELLE
Ищу счетчик посещений. И из какого поисковика зашёл посетитель.

Автор Alex_iPod

Ответов: 10
Просмотров: 2199
Последний ответ 10.07.2011, 16:48:20
от antonkotovichev