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

Shelby

  • Захожу иногда
  • 84
  • 1 / 0
Давно был поставлен сайт, по неопытности поставил сборку с сайта _joomla.ru
На то время все устраивало, даже то, что Joomla самостоятельно не кэшируется. Сейчас начал обновлять модули и ставить новые компоненты, но "нежелание" кэшироваться просто убивает. Самостоятельно решить проблему пробовал с помощью Google и сторонних компонентов кэширования, настройки все верны, однако результатов ноль! Просто уперто не кэшируется и все :(
В чем может быть проблема, что не так, что этой ... не хватает до полного счастья? crazy!

Заранее благодарен!
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
*

Shelby

  • Захожу иногда
  • 84
  • 1 / 0
Re: Кэширование Joomla. Посоветуйте
« Ответ #2 : 24.01.2012, 19:01:40 »
В мануале по установке JotCache было сказано выключить, что я и сделал. Даже при включеном плагине она не кэшировалась(
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Кэширование Joomla. Посоветуйте
« Ответ #3 : 24.01.2012, 19:04:00 »
JotCache выключите(удалите) а система кеш включите. Чем вам встроенный кеш не нравится?
*

Shelby

  • Захожу иногда
  • 84
  • 1 / 0
Re: Кэширование Joomla. Посоветуйте
« Ответ #4 : 24.01.2012, 19:09:01 »
да встроенный не работает, даже признаков жизни не подает, только потому начал эксперименты.
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Re: Кэширование Joomla. Посоветуйте
« Ответ #5 : 24.01.2012, 19:09:33 »
Чем вам встроенный кеш не нравится?
у меня лично надо постоянно чистить его! после каждого обновления(добавил материал, создал меню), мне надоело, отключил кэш в общ настройках, так ничего не изменилось, все равно кэш чистить надо
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

Shelby

  • Захожу иногда
  • 84
  • 1 / 0
Re: Кэширование Joomla. Посоветуйте
« Ответ #6 : 24.01.2012, 19:14:54 »
у меня лично надо постоянно чистить его! после каждого обновления(добавил материал, создал меню), мне надоело, отключил кэш в общ настройках, так ничего не изменилось, все равно кэш чистить надо
вот и у меня такая проблема, хотя на других сайтах (устанавливал с офф сайта joomla) все работает отлично. Еще один пример того, что все установки нужно брать только с офф сайтов :dry:
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Кэширование Joomla. Посоветуйте
« Ответ #7 : 24.01.2012, 19:19:59 »
ShelbyПомощь - Информация о системе - Права на папки - Папка для кеширования там все нормально
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Re: Кэширование Joomla. Посоветуйте
« Ответ #8 : 24.01.2012, 19:21:28 »
вот и у меня такая проблема, хотя на других сайтах (устанавливал с офф сайта joomla) все работает отлично. Еще один пример того, что все установки нужно брать только с офф сайтов :dry:
с оф сайта, joomlaportal.ru
самый прикол я его включил чтоб сайт быстрее работал, дык че то замечаю с включенн сжатие он быстрее пашет
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

Shelby

  • Захожу иногда
  • 84
  • 1 / 0
Re: Кэширование Joomla. Посоветуйте
« Ответ #9 : 24.01.2012, 19:25:09 »
ShelbyПомощь - Информация о системе - Права на папки - Папка для кеширования там все нормально

Доступен на запись
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
Re: Кэширование Joomla. Посоветуйте
« Ответ #10 : 24.01.2012, 19:33:03 »
Сейчас смотришь сколько ошибок выдает Joomla. запоминаешь или записываешь
делаешь бекап, качаешь Joomla 1,5,25 и заливаешь с заменой (разумеется не 100%)
Опять смотришь сколько ошибок делает Joomla и если все работает и все устраивает прыгаешь от радости


p.s это как вариант

а можешь просто кеш достать и воткнуть себе
*

Shelby

  • Захожу иногда
  • 84
  • 1 / 0
Re: Кэширование Joomla. Посоветуйте
« Ответ #11 : 24.01.2012, 19:38:26 »
Сейчас смотришь сколько ошибок выдает Joomla. запоминаешь или записываешь
делаешь бекап, качаешь Joomla 1,5,25 и заливаешь с заменой (разумеется не 100%)
Опять смотришь сколько ошибок делает Joomla и если все работает и все устраивает прыгаешь от радости


p.s это как вариант

а можешь просто кеш достать и воткнуть себе
С Joomla 1.5.25 все вышеописанное проделал перед НГ, сегодня попробую вытянуть кэш и удалить сторонние компоненты кэширования. По результатам отпишусь.
*

odilon

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Кэширование Joomla. Посоветуйте
« Ответ #12 : 30.03.2015, 19:07:59 »
Помогите пожалуйста! Не могу правильно включить кэширование в Joomla 3. Поначалу включил его только в системных настройках - и как Shelby удивлялся, что оно не работает.

До этого прочёл с десяток статей про разновидности кэша в Joomla - тех, что стоят в топе поисковиков. Во многих из них вопрос разбирался подробно, но ни в одной не было даже и упоминания про плагин "система - кэш". Только из этого форумного обсуждения узнал о его существовании.

Включил этот плагин, но столкнулся с новой бедой. Кэш заработал, но теперь кэшируется ВЕСЬ САЙТ НАПРОЧЬ. ТО ЕСТЬ, ПО КАКОМУ ЕГО АДРЕСУ НИ ПЕРЕЙДИ, ВЫВОДИТСЯ ВСЁ ОДНА И ТА ЖЕ, ВИДИМО, КЕМ-ТО ЗАГРУЖЕННАЯ В МОМЕНТ ВКЛЮЧЕНИЯ КЭША СТРАНИЦА. ВЕСЬ САЙТ СВЁЛСЯ К НЕЙ ОДНОЙ!

Что же делать? Как добиться, чтобы кэш работал, но при этом по нужному адресу выводилась всё же нужная страница? Смена типа кэша со стандартного на прогрессивный не помогает.
*

04r12

  • Захожу иногда
  • 168
  • 9 / 0
  • Позитив есть! Чего и вам желаю=)
Re: Кэширование Joomla. Посоветуйте
« Ответ #13 : 31.03.2015, 08:54:35 »
А не проще взять официальный модуль миграции и с 1.5.25 переехать на 1.7, а там и на 2.5? Все баги сборки сами собой устранятся по логике вещей.
*

odilon

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Кэширование Joomla. Посоветуйте
« Ответ #14 : 31.03.2015, 14:53:55 »
А не проще взять официальный модуль миграции и с 1.5.25 переехать на 1.7, а там и на 2.5? Все баги сборки сами собой устранятся по логике вещей.
Вы кому ответили? Shelby задавал свой вопрос про Joomla 1.5 в январе 2012 года. А у меня Joomla 3 (я выше указал это). Сборка самая что ни на есть официальная.
*

04r12

  • Захожу иногда
  • 168
  • 9 / 0
  • Позитив есть! Чего и вам желаю=)
Re: Кэширование Joomla. Посоветуйте
« Ответ #15 : 01.04.2015, 05:13:17 »
Вы кому ответили? Shelby задавал свой вопрос про Joomla 1.5 в январе 2012 года. А у меня Joomla 3 (я выше указал это). Сборка самая что ни на есть официальная.
Прошу прощения, ветку до конца не читал, дату не смотрел. По Вашей проблеме даже не знаю, что посоветовать, пользовался различными версиями Joomla, проблем таких не было
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 1.5 как убрать кнопку редактировать материант с сайта

Автор andriy465

Ответов: 5
Просмотров: 3647
Последний ответ 12.11.2023, 23:37:03
от all_zer
Нужно wiki под Joomla

Автор THE KILLERS

Ответов: 9
Просмотров: 9546
Последний ответ 05.11.2020, 20:56:47
от Kijv
Поиск статьи по url сайта в админке Joomla 1.5

Автор Tema

Ответов: 5
Просмотров: 2032
Последний ответ 14.08.2020, 07:16:44
от rsn
Не могу войти в админку Joomla 1.5

Автор MrSkif

Ответов: 14
Просмотров: 10412
Последний ответ 12.09.2018, 19:36:32
от PaLyCH
Не войду в админку Joomla 1.5.26, пишет соединение с сервером было сброшено

Автор rom_4

Ответов: 4
Просмотров: 5447
Последний ответ 16.05.2018, 17:28:18
от Алексей MeRsOvOd