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

Vicos

  • Захожу иногда
  • 60
  • 0 / 0
Здравствуйте! Хотел бы обратиться к опытным форумчанам у которых есть более серьёзный опыт в данной сфере.
Интересует меня следующее:
1) Стоимость создания сайта, интернет-магазина на любимой нами CMS.
Регион не Москва, западная Сибирь. До этого создавал простенькие сайты от 5т.р. (готовый варезный шаблон и минимум готовых компонентов) до чуть более серьёзных за 15т.р. (почти индивидуальный дизайн и нестандартный функционал).
С интернет магазином серьёзно не сталкивался, так только щупал VirtueMart и JoomShopping, больше понравился второй компонент.
Что бы не загибать палку и не продешевить хотел бы чуть более точно узнать трудозатраты и примерную стоимость.
2) Стоимость обслуживания сайта, а именно изменение/дополнение контента, дополнение и изменение функционала.
Нагуглил, некоторые канторы берут примерно 200-700р. за страницу. Актуальная стоимость?
3а) Стоимость внутреннего продвижения сайта. Оптимизация страниц под конкретные запросы и подгонка релевантности страниц на основе требований к примеру MegaIndex (в продвижении опыта мало).
3б) Стоимость внешнего продвижения, закупка ссылок и распространение рекламных ссылок.
Спасибо! ;)
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
готовый варезный шаблон
Это значит вы должны доплачивать заказчикам за понесенные ими в будущем убытки + моральный вред.
*

Vicos

  • Захожу иногда
  • 60
  • 0 / 0
Это значит вы должны доплачивать заказчикам за понесенные ими в будущем убытки + моральный вред.
Не в тему ответ конечно. Заказчик об этом не знает, да и наполнение сайта контентом чего то же стоит) Да и шаблон чаще всего подвергается модификациям, так что он приобретает оригинальность.
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Если не знает, то может и засудить, я б так и сделал.
Приобретает он бэкдоры и потенциальные проблемы в судах.
*

dmtn

  • Захожу иногда
  • 381
  • 25 / 2
 м-да, правил, ну там ниже
« Последнее редактирование: 13.02.2014, 18:34:25 от dmtn »
*

dmtn

  • Захожу иногда
  • 381
  • 25 / 2
1) Стоимость создания сайта, интернет-магазина на любимой нами CMS.
Регион не Москва, западная Сибирь.
Что бы не загибать палку и не продешевить хотел бы чуть более точно узнать трудозатраты и примерную стоимость.
2) Стоимость обслуживания сайта, а именно изменение/дополнение контента, дополнение и изменение функционала.
Нагуглил, некоторые канторы конторы
3а) Стоимость внутреннего продвижения сайта.
3б) Стоимость внешнего продвижения,
в западной сибири столкнулся - сайт-каталог - шаблон на артистире (и даже в этом случае - внешне очень убогий) из компонентов - VirtueMart,  какая-то простенькая форма обратной связи - за это "счастие" разработчик взял 25 тыр. без наполнения, обслуживание - это отдельный ценник от 2 тр. в месяц (добавление материалов здесь тоже не учтено), гипотетическое создание резервных копий (забавно такое читать, если хостер этим занят регулярно)
так что, если вы из категории подобных (ваши вопросы вызывают ассоциации) - может заняться чем-нибудь иным?
« Последнее редактирование: 13.02.2014, 18:35:28 от dmtn »
*

Vicos

  • Захожу иногда
  • 60
  • 0 / 0
если вы из категории подобных (ваши вопросы вызывают ассоциации) - может заняться чем-нибудь иным?
Так вот и надо не попасть в эту коллею. Ценников фиксированных то нет.
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
И не будет.
Потому что здесь цена зависит от качества.

И чтобы достигнуть качества надо работать бесплатно или на дядю, и то не факт - далеко не каждый способен.
*

dmtn

  • Захожу иногда
  • 381
  • 25 / 2
И чтобы достигнуть качества надо работать бесплатно или на дядю, и то не факт - далеко не каждый способен.
добавлю от себя - еще надо учиться и как-то, ну хоть совсем немного, согласовывать свой ценник со своей совестью и уразумением того, - что есть качество. Может тогда и начнет "все получаться"?
*

Vicos

  • Захожу иногда
  • 60
  • 0 / 0
И не будет.
Потому что здесь цена зависит от качества.
И чтобы достигнуть качества надо работать бесплатно или на дядю, и то не факт - далеко не каждый способен.
На дядю, качественно? Три шкуры драть с заказчика.
добавлю от себя - еще надо учиться и как-то, ну хоть совсем немного, согласовывать свой ценник со своей совестью и уразумением того, - что есть качество. Может тогда и начнет "все получаться"?
Вот дельный совет!
А про совесть, тут как раз за еду и выполню заказ.
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
А про совесть, тут как раз за еду и выполню заказ.
В смысле дядя берет втрое больше?
Допустим, но он отвечает за качество, сроки итп, плюс еще (если официально) - налоги итп.

Когда будет понимание этого, вопросов не будет.
*

dmtn

  • Захожу иногда
  • 381
  • 25 / 2
совесть / еда / учеба - очень разные вещи. А "на дядю" работать, вот пока учеба - радуйся, что дядя готов оплачивать твои потуги и не совсем понимает где есть глюки, а где нет и молись на таких дядь, чтобы больше было пока учишься. Когда научишься, не поверишь, сразу поймешь, что можешь брать за свои труды.
*

Vicos

  • Захожу иногда
  • 60
  • 0 / 0
совесть / еда / учеба - очень разные вещи. А "на дядю" работать, вот пока учеба - радуйся, что дядя готов оплачивать твои потуги и не совсем понимает где есть глюки, а где нет и молись на таких дядь, чтобы больше было пока учишься. Когда научишься, не поверишь, сразу поймешь, что можешь брать за свои труды.
Спасибо, за советы! Тему можно закрывать.
*

dmtn

  • Захожу иногда
  • 381
  • 25 / 2
Комрад, ты не дочитал главного, а именно -
"Когда научишься, не поверишь, сразу поймешь, что можешь брать за свои труды."
это не шутка, с разбегу - ничего не поймешь, а потрешься - все само станет понятным    *DRINK*
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
это не шутка, с разбегу - ничего не поймешь, а потрешься - все само станет понятным    *DRINK*
обо что тереться надо?
об бетонную плиту головой?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как найти и определить сервис раскрутки сайта?

Автор Gosha5767

Ответов: 0
Просмотров: 5029
Последний ответ 08.07.2025, 17:19:50
от Gosha5767
WT SEO Meta templates плагин сео-шаблонов для Joomla

Автор sergeytolkachyov

Ответов: 25
Просмотров: 5125
Последний ответ 24.11.2023, 10:24:11
от sergeytolkachyov
Нет позиций в Google Joomla 3

Автор Benderalfa

Ответов: 1
Просмотров: 2938
Последний ответ 20.09.2022, 20:53:56
от darkghost
Как вывести в сниппете название статьи, а потом название сайта?

Автор gorbi_U

Ответов: 0
Просмотров: 1101
Последний ответ 18.01.2022, 18:29:22
от gorbi_U
Расширенные описания страниц в Joomla (микроданные, микроформаты, RDFa, schema.org)

Автор ELLE

Ответов: 151
Просмотров: 112709
Последний ответ 20.11.2021, 18:15:42
от Byzi