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

chernblx

  • Захожу иногда
  • 262
  • 2 / 0
Вообщем сложилась такая проблема.
Сайт постоянно отключали по причине превышения системных ресурсов (CPU)

Имею несколько других сайтов и ни когда не сталкивался с такими проблемами, примерно везде одинаковые модули, плагины, компоненты и посещаемость.

Приходится думать, что именно JoomLeague нагружает сайт. Есть возможность как нибудь это проверить? Может уже кто нибудь сталкивался с этой проблемой?

Может быть из за большого количества в БД игроков, команд и тп.?

Помогите пожалуйста.


Для корректной работы сайта пришлось поменять тариф.
*

uf1976

  • Захожу иногда
  • 242
  • 6 / 5
Re: О нагрузке на сайт. JoomLeague - 0.93
« Ответ #1 : 19.12.2011, 09:18:42 »
Есть возможность как нибудь это проверить?
Конечно. Отключите на время модули и всё, что относится к JL, - и попросите хостера посмотреть, как изменится нагрузка.
Кэширование и плагин автоматической оптимизации таблиц в БД должны помочь исправить ситуацию.
*

chernblx

  • Захожу иногда
  • 262
  • 2 / 0
Re: О нагрузке на сайт. JoomLeague - 0.93
« Ответ #2 : 20.12.2011, 01:02:46 »
Конечно. Отключите на время модули и всё, что относится к JL, - и попросите хостера посмотреть, как изменится нагрузка.
Кэширование и плагин автоматической оптимизации таблиц в БД должны помочь исправить ситуацию.

С кэшированием работал, а что за плагин автоматической оптимизации? Хостер не может мне сказать ничего по поводу нагрузки, я могу смотреть только статистику по дням, какая нагрузка сегодня-вчера-позавчера.

кстати вот наглядный пример (статистика за год):



Сейчас по тарифу ограничения 3, но всё равно иногда мы подбираемся к этой цифре, и сейчас ещё не пик посещаемости
*

uf1976

  • Захожу иногда
  • 242
  • 6 / 5
Re: О нагрузке на сайт. JoomLeague - 0.93
« Ответ #3 : 20.12.2011, 07:23:47 »
С кэшированием работал, а что за плагин автоматической оптимизации?
Поиском не пробовали пользоваться?
http://joomlaforum.ru/index.php/topic,1079.0.html

Хостер не может мне сказать ничего по поводу нагрузки, я могу смотреть только статистику по дням, какая нагрузка сегодня-вчера-позавчера.
Значит, это типичная разводка со стороны хостера.
График - лажа. Если это статистика за год, откуда 13-й и 0-й месяц взялся? Что отложено по оси ординат?
Меняйте хостинг.
*

nikolay65

  • Осваиваюсь на форуме
  • 24
  • 1 / 0
Re: О нагрузке на сайт. JoomLeague - 0.93
« Ответ #4 : 21.12.2011, 20:35:47 »
Значит, это типичная разводка со стороны хостера.
График - лажа. Если это статистика за год, откуда 13-й и 0-й месяц взялся? Что отложено по оси ординат?
Меняйте хостинг.
У хостера слабовата моща. А компонент действительно дает много запросов, и все запросы тяжелые. Самый тяжелый по запросам модуль - навигация (один прект - один запрос, заведено 100 проектов - сто запросов от модуля навигации одновременно, и все они с "джоуинами лефт"). Чтобы посмотреть как общается джумлига с базой данный - включите режим отладки в джумлиге в общих настройках и будет видно колличество запросов и откуда они.
*

chernblx

  • Захожу иногда
  • 262
  • 2 / 0
Re: О нагрузке на сайт. JoomLeague - 0.93
« Ответ #5 : 21.12.2011, 20:39:53 »
У хостера слабовата моща. А компонент действительно дает много запросов, и все запросы тяжелые. Самый тяжелый по запросам модуль - навигация (один прект - один запрос, заведено 100 проектов - сто запросов от модуля навигации одновременно, и все они с "джоуинами лефт"). Чтобы посмотреть как общается джумлига с базой данный - включите режим отладки в джумлиге в общих настройках и будет видно колличество запросов и откуда они.

Спасибо. А у какого хостера мощь не слабовата)) для подобных проектов?))
*

nikolay65

  • Осваиваюсь на форуме
  • 24
  • 1 / 0
Re: О нагрузке на сайт. JoomLeague - 0.93
« Ответ #6 : 21.12.2011, 20:55:29 »
Спасибо. А у какого хостера мощь не слабовата)) для подобных проектов?))
Я не знаю, на моем точно слабовата, а проектов 140, и когда оновременно много посетителей сыпет красный блок ошибок.
*

uf1976

  • Захожу иногда
  • 242
  • 6 / 5
Re: О нагрузке на сайт. JoomLeague - 0.93
« Ответ #7 : 22.12.2011, 08:53:06 »
Самый тяжелый по запросам модуль - навигация
Я поэтому от него и отказался. Сделал слайдер модулей, в которых обычные ссылки на календарь, шахматку, ИТ сезона. Правда, при 140 проектах это не выход...

Цитировать
А у какого хостера мощь не слабовата)) для подобных проектов?))
У того, у кого сервера заточены под Joomla. На счёт тонкостей "заточки" - не в курсе, это у хостеров надо интересоваться.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Адаптация joomleague 3 под мобильную версию

Автор DragonbyKuzya

Ответов: 0
Просмотров: 3184
Последний ответ 05.03.2019, 11:57:49
от DragonbyKuzya
JoomLeague Module Matches предупреждение JFolder::folder:

Автор vladimir86

Ответов: 2
Просмотров: 3301
Последний ответ 02.01.2019, 11:04:00
от vladimir86
Всего стало по два после обновления до joomleague 3.0.22

Автор eu4ria

Ответов: 2
Просмотров: 3516
Последний ответ 29.12.2018, 05:11:32
от vladimir86
Работает ли joomleague на Joomla 3x?

Автор AlucarD

Ответов: 9
Просмотров: 6526
Последний ответ 06.10.2018, 13:12:20
от DragonbyKuzya
Восстановление удаленного проекта в JoomLeague - v.0.93

Автор saviv

Ответов: 1
Просмотров: 1660
Последний ответ 28.05.2018, 20:52:28
от lexxbry