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

Azriel91

  • Новичок
  • 2
  • 0 / 0
Описание проблемы:
Не работают почти все функции админ панели(далее подробней)

Хостинг hvosting.ua

Платформа:    FreeBSD medved.hvosting.ua 7.1-RELEASE FreeBSD 7.1-RELEASE #0: Thu Jan 22 09:27:15 UTC 2009 root@free.ds:/usr/obj/usr/src/sys/ISPSYSTEM amd64
Версия MySQL:    5.1.30-log
Сравнение БД:    utf8_general_ci
Версия PHP:    5.2.8
Веб-сервер:    Apache/1.3.41 (Unix) mod_fastcgi/2.4.6 mod_ssl/2.8.31 OpenSSL/0.9.8e
Веб-сервер на PHP:    cgi-fcgi
Версія Joomla!:    Joomla! 1.5.9 Production/Stable [ Vatani ] 9-January-2009 23:00 GMT
User Agent:    Opera/9.52 (Windows NT 5.1; U; ru)

Панель управления на хостинге - ISP manager

Что я сделал:
1. Зарегистрировал домен
2. Купил хостинг-план ( php, mysql, .htaccess, apache - все есть)
3. Распаковал Joomla! ( версия Joomla_1.5.9-Stable-Full_Package, укр локализация) у себя на компьютере
4. Закачал на сервер по фтп в папку home/<mylogin>/data/www/<mydomain>/
5. Через ISP manager создаю базу с именем minenv, пользователем minenv, пароль (1)
6. Зашел через браузер на www.mydomain
7. Открылась страница установки Joomla!
8. Устанавливаю
 8.1 выбрал язык
 8.2 проверка php - все по умолчанию
 8.3 конфигурация базы - название хоста localhost, имя пользователя minenv, пароль (1), имя базы minenv, выбрал префикс
 8.4 Конфигурация фтп - пропустил
 8.5 Основная конфигурация - выбрал название, прописал свою почту, написал пароль (1)
 8.6 Демо данные не установливал
 8.7 Установка завершена успешно
9. Удаляю папку installation
10. Захожу на www.mydomain/administrator

(Кстати, база наполнилась таблицами 36 штук)

11. Ввожу логин, пароль - захожу в админку, а дальше начинается проблема
Не могу перейти на:
1. Добавить материал            administrator/index.php?option=com_content&task=add
2. Менеджер материалов          administrator/index.php?option=com_content
3. Менеджер главной страницы    administrator/index.php?option=com_frontpage
4. Разделы                      administrator/index.php?option=com_sections&scope=content
5. Категории                    administrator/index.php?option=com_categories&section=com_content
6. Меню                         administrator/index.php?option=com_menus
7. Пользователи                 administrator/index.php?option=com_users
8. Настройки                    administrator/index.php?option=com_config
Браузер выдает ошибку http 500
Могу зайти на:
1. Языки                 administrator/index.php?option=com_languages&client=0
2. Помощь                administrator/index.php?option=com_admin&task=sysinfo
3. Информация о системе  administrator/index.php?option=com_admin&task=sysinfo
4. Медиа менеджер        administrator/index.php?option=com_media

Помогите, пожалуйста, найти решение проблемы.
Сам пока не разбираюсь в mysql и php, но кажется, что проблема именно там.
« Последнее редактирование: 29.04.2009, 23:22:28 от Forget-me-not »
*

koguja

  • Захожу иногда
  • 183
  • 16 / 0
  • Учиться , учиться .... (R) Ленин
1. Переустанавливать не пробывал , может что не так залилось и проблема в доступе к файлам.
2. при заливке установи демо контент , не помешает
3. как совет удобнее заливать Джомлу из ISP панели , там есть файл менеджер и возможность распаковки архива Joomla. (я сам так пользуюсь , во много раз быстрее заливать.)
Новости Joomla | Joomla 1.5 FAQ | Если тема ушла с первого листа , а нужна помощь , пишите ПМ
*

Azriel91

  • Новичок
  • 2
  • 0 / 0
Проблему решил.
1. Сначала перезалил Joomla! - не помогло
2. После долгих копаний включил в настройках php: display_errors, log_errors (joomla рекомендует не включать)
3. При попытке доступа к админке получил ошибку
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 40961 bytes)
in /home/order14806/data/www/dei.km.ua/libraries/joomla/application/component/view.php on line 561
то есть не хватает памяти
4. В настройках php нахожу:
Лимит памяти - 8мб
Макс.размер файлов - 8мб
5. Меняю оба значения на 16
6. Захожу в админку - проблема решена
Спасибо за совет на счет закачки joomla! Так действительно на много быстрее
Просто раньше работал с бесплатным хостингом и там не было возможности распаковывать архивы (или я не нашел)
*

koguja

  • Захожу иногда
  • 183
  • 16 / 0
  • Учиться , учиться .... (R) Ленин
Проблему решил.

Спасибо за совет на счет закачки joomla! Так действительно на много быстрее
Просто раньше работал с бесплатным хостингом и там не было возможности распаковывать архивы (или я не нашел)

Это особенность ISP панели, сам не сразу начал пользовать и тратил массу времени на заливку по ФТП
Новости Joomla | Joomla 1.5 FAQ | Если тема ушла с первого листа , а нужна помощь , пишите ПМ
*

Gnetik

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Проблему решил.
4. В настройках php нахожу:
Лимит памяти - 8мб
Макс.размер файлов - 8мб
5. Меняю оба значения на 16
6. Захожу в админку - проблема решена

Не могли бы уточнить для непонимающего ничего в кодах, где именно находится этот php, и что именно надо менять?
Такая же проблема, только не могу зайти в "Добавить материал" отображает пустую страницу. Joomla 1.5.13
*

Gnetik

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Все нашел решение ^-^  Просто, даже слишком, поменял редактор, и все поехало, стоял JCE, поставил родной все путем. Получается проблема в редакторе JCE :D, вот только в чем?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Уведомление при входе в админку

Автор sashgera

Ответов: 0
Просмотров: 2731
Последний ответ 21.11.2022, 13:29:06
от sashgera
Как сделать появление случайных картинок из пяти разных категорий?

Автор Katy93

Ответов: 2
Просмотров: 2788
Последний ответ 03.05.2021, 21:34:20
от sivers
Вместо некоторых разделов стали отображаться пустые страницы

Автор ch

Ответов: 0
Просмотров: 1204
Последний ответ 04.12.2020, 15:07:27
от ch
Хочу войти в админку, а перебрасывает на главную

Автор IndigoHollow

Ответов: 31
Просмотров: 10929
Последний ответ 24.07.2020, 14:56:56
от seyfer
Не работает страница XML выдает ошибку: This page contains the following errors

Автор vitaliywolf

Ответов: 20
Просмотров: 18152
Последний ответ 07.05.2020, 22:24:16
от sivers