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

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Модуль "Поиск"
« : 14.06.2017, 00:36:59 »
Нужно создать модуль поиска по сайту. У пользователя должно быть 8 критериев для поиска: название материала, ключевая фраза, логин пользователя, фамилия, имя, псевдоним, страна, город. Поиск нужно будет вести как по одному, так и по нескольким критериям.
-
Сайт на Joomla. Установлен компонент CommunityBuilder.
-
Подробное техническое задание предоставим.
Срок исполнения заказа – 1 день
Бюджет – 650 руб. Без предоплат. Оплата строго по факту выполненной работы. Возможно заключение безопасной сделки.
-
Кому интересно?
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Модуль "Поиск"
« Ответ #1 : 14.06.2017, 01:07:02 »
Уточню. Рублей российских?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Модуль "Поиск"
« Ответ #2 : 14.06.2017, 01:16:29 »
ТС, бюджет на 5 умножьте, после этого разговор начнется
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Re: Модуль "Поиск"
« Ответ #3 : 14.06.2017, 02:16:55 »
1 день на поиск, да еще за 650р. ТС вы случаем пару нулей не потеряли?
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Модуль "Поиск"
« Ответ #4 : 17.06.2017, 21:18:44 »
Касаемо стоимости - дублируем наше сообщение, которое мы оставили в теме http://joomlaforum.ru/index.php/topic,338720.0.html

"Уважаемые специалисты-программисты, я понимаю, что вам очень смешно смотреть на такие цены, но также понимаю, что жизнь и заработки у всех разные. Мы сайт делаем своими силами и у нас, к сожалению, нет возможности заплатить больше. Мы об этом писали неоднократно, например здесь: http://joomlaforum.ru/index.php/topic,318753.msg1633664.html#msg1633664

"Для тех, кто не знает: наше финансовое положение такое, что мы не можем позволить себе создание сайта за деньги. Именно поэтому мы и приняли решение создавать сайт, и данный компонент в частности, своими силами. Сами мы не программисты. До этого мы и знать не знали, и слышать не слышали ровным счётом НИЧЕГО о Joomla, о каких-то там кодах, о языках программирования, о плагинах, компонентах и прочей ...хм... информации.
Именно поэтому любая помощь для нас очень важна. Мы ценим каждый совет. И благодарны за каждую подсказку.
-
Обращаемся к каждому, кто следит за темой и читает её: если у Вас есть возможность нам помочь, если Вы хотите принять участие в доработке компонента общими усилиями, если можете взять на себя выполнение какого-то из пунктов – не стесняйтесь, пожалуйста. Напишите об этом. Ваша помощь и Ваше участие очень нам нужны".

Как только у нас появляется возможность заплатить хоть какую-то денюшку, мы её сразу же используем.
Кто готов нам помочь, пусть и за такое небольшое вознаграждение, - мы будем вам очень благодарны. 
Ну вот как-то так."
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Модуль "Поиск"
« Ответ #5 : 17.06.2017, 21:24:19 »
За данное задание мы можем заплатить 800 руб.

Может быть, данная информация будет полезной: "В данном случае "Поиск" уместнее назвать "Фильтром", а поскольку он производится по базе CommunityBuilder, то и вообще, "Списком", поскольку так в компоненте называется этот механизм.
 
Сделать такой "поиск" несложно, единственное что потребуется, это для Ком.Билдера докупить специальный поисковый плагинчик, а именно вот этот: https://www.joomlapolis.com/addons/cb-query-field" (плагин у нас есть).

Кто может нам помочь и готов сделать данное задание?
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Re: Модуль "Поиск"
« Ответ #6 : 17.06.2017, 22:00:06 »
За данное задание мы можем заплатить 800 руб.

Может быть, данная информация будет полезной: "В данном случае "Поиск" уместнее назвать "Фильтром", а поскольку он производится по базе CommunityBuilder, то и вообще, "Списком", поскольку так в компоненте называется этот механизм.
 
Сделать такой "поиск" несложно, единственное что потребуется, это для Ком.Билдера докупить специальный поисковый плагинчик, а именно вот этот: https://www.joomlapolis.com/addons/cb-query-field" (плагин у нас есть).

Кто может нам помочь и готов сделать данное задание?
Так сами и сделайте если не сложно в чем проблема.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Модуль "Поиск"
« Ответ #7 : 17.06.2017, 22:02:06 »
Septdir, мы привели цитату программиста, который отписался нам на почту. Это не наше суждение.
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Re: Модуль "Поиск"
« Ответ #8 : 17.06.2017, 22:31:09 »
Septdir, мы привели цитату программиста, который отписался нам на почту. Это не наше суждение.
Ну так и попросили бы его за 800 сделать. Он же программист.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Модуль "Поиск"
« Ответ #9 : 17.06.2017, 23:22:08 »
А Вы, судя по всему, женщина, да?
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Модуль "Поиск"
« Ответ #10 : 18.06.2017, 08:50:31 »
Мила, я думаю, программист озвучил Вам стоимость, но она Вас не устроила. С чего Вы взяли, что здешние программисты более лохи, чем тот? Идите на сайт фриланса, здесь совершенно другие расценки.

И, пожалуйста, не начинайте оффтопа. При чем тут пол собеседника? А потом будете жаловаться, что тему заоффтопили.

ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отредактировать модуль меню под bootstrap 4

Автор si@m

Ответов: 1
Просмотров: 704
Последний ответ 26.03.2021, 15:51:13
от gartes
Плагин на поиск заказа по номеру телефона

Автор Ler_Chak

Ответов: 2
Просмотров: 919
Последний ответ 18.10.2020, 15:30:31
от voland
recaptcha в модуль встроить

Автор Mehanick

Ответов: 46
Просмотров: 4824
Последний ответ 25.08.2020, 12:20:51
от Dolphin4ik_1
Сделать/найти установить модуль на Joomla 3

Автор bonefacei

Ответов: 1
Просмотров: 1148
Последний ответ 12.04.2020, 06:28:37
от draff
Модуль/Плагин вывода данных

Автор NightlyBlooD

Ответов: 3
Просмотров: 842
Последний ответ 30.03.2020, 15:15:23
от NightlyBlooD