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

amira

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Здравствуйте!

В базе сменила почтовый ящик и пароль на первого суперадмина и теперь вместо сайта вылетает стандартная страница с ошибкой, когда у сайта наполнения нет.

Потом ящик на место вернула, а пароль не сохранился старый ((( Ошибка осталась.

Не могу понять, с какого конца вообще это решать.
*

ShadowXak

  • Завсегдатай
  • 1602
  • 162 / 6
  • no more programming
А стесняюсь спросить, как именно в бд вы это все меняли?
и почему не воспользовались адмицентром?
*

amira

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Через админку PhpMyAdmin. Вроде ничего сложного, нарушить особо нечего. Просто переносился этот сайт с одного хостинга на другой несколько месяцев, и не работал, надобности в суперадмине не было. А теперь проблемы возникли.
*

ShadowXak

  • Завсегдатай
  • 1602
  • 162 / 6
  • no more programming
я вообще ничего не понял :)
довайте как с самого начала и до самого конца! :)
---
Начните хотя бы с версии джумлы
*

amira

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
)

Ладно, попробую ) Joomla не я устанавливала, поискала - не нашла версии, если честно. Интернет-магазин работал с горем попалам до переносов по хостингу, а тут клиенты стали жаловаться, что зарегистрироваться не могут. Магазин мой, но суперадминских прав у меня нет. Поэтому найдя в инете способ сброса пароля главного суперадмина (который id=62) через sql-запрос, я это и сделала. Только вот не запросом, а просто через админскую панель. А заодно поменяла почтовый ящик. И теперь главный индекс.пхп говорит: This site is temporarily unavailable.
Please notify the System Administrator . А это прописано в configuration.php :
$mosConfig_error_message = 'This site is temporarily unavailable.<br /> Please notify the System Administrator';

Вот.
*

Aleks_El_Dia

  • Живу я здесь
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
В phpMyAdmin делаем запрос:
Код: sql
UPDATE `jos_users`
   SET password='21232f297a57a5a743894a0e4a801fc3'
 WHERE id = 62;
После этого пароль суперадмина будет admin

Либо в phpMyAdmin создаем нового юзера таким запросом:
Код: sql
INSERT INTO jos_users( `name`, `username`, `password`, `email`, `usertype`, `gid` )
VALUES( 'admin2', 'admin2', md5('12345'), 'admin2@mail.ru', 'Super Administrator', 25 );
 
INSERT INTO jos_core_acl_aro( `section_value`, `value` )
VALUES ( 'users', LAST_INSERT_ID() );
 
INSERT INTO jos_core_acl_groups_aro_map( `group_id`, `aro_id` )
VALUES ( 25, LAST_INSERT_ID() );
В результате у нас появится суперадминистратор admin2 с паролем 12345

ps: если базу не грохнули то поможет))))
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

amira

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Спасибо большое, но... пароль-то уже изменился. А сайт теперь только вот с error message и открывается.
*

amira

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Но второго админа попробую сделать ))))
*

amira

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Не-а.... не проходит...
*

Aleks_El_Dia

  • Живу я здесь
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
В админку попасть можно? Может сайт просто отключен?
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

amira

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Нет, сайт не отключен. а в админку не попадается - выскакивает то же сообщение.
*

amira

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
у меня так было, когда фтп на хост был перенесен, а база не подключена. Но сейчас-то все вроде на месте  >:(
*

Aleks_El_Dia

  • Живу я здесь
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
В configuration.php что то меняли? Какие права на него?
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

amira

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Права полноценные. Меняла только адрес почты.
*

ShadowXak

  • Завсегдатай
  • 1602
  • 162 / 6
  • no more programming
можно урл сайта?
*

amira

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Код
biodale.ru

Спасибо большое за то, что помогаете )
« Последнее редактирование: 24.05.2009, 18:09:51 от amira »
*

MuraDweb

  • Захожу иногда
  • 267
  • 124 / 1
У Вас ошибка #2, что значит: "Невозможно подключиться к серверу базы данных"
Проверьте следующие переменные в файле configuration.php

$mosConfig_host = 'здесь имя хоста базы данных'; // обычно localhost, но может быть другим (зависит от хостинга)
$mosConfig_db = 'здесь имя базы данных';
$mosConfig_user = 'здесь имя пользователя базы данных';
$mosConfig_password = 'здесь пароль базы данных';

Яндекс.Деньги: 41001423568435
Webmoney: R 377548789269 | Z 421465848009 | E 126339514076 | U 413960261029
-
А, Вы читали ? Правила форума | FAQ J! 1.5 | FAQ J! 1.0
*

amira

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
УРА, спасибо огромное!!!

Все дело оказалось в пароле, стоял совершенно левый почему-то ) Все остальное на 20 раз проверила, а пароль мимо )
*

amira

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
А благодарить здесь как положено? )))
*

ShadowXak

  • Завсегдатай
  • 1602
  • 162 / 6
  • no more programming
Для этого нужно еще 8 постов набрать (до 20) и тогда увидите [ + ] и [ - ] над аватором, там я думаю догодаетесь :)
вот токо флудить не нужно набирая сообщения :)
---
з.ы. можно и вебманями или яндекс деньгами отблагодарить :)
*

amira

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Спасибо, буду работать в этом направлении )
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работает пункт меню в админке Новый материал

Автор NICTO

Ответов: 8
Просмотров: 4837
Последний ответ 01.05.2022, 19:01:23
от Maksdal
Проблема с БД после переезда на новый хостинг

Автор dimitriopolus

Ответов: 6
Просмотров: 22479
Последний ответ 03.01.2018, 23:42:41
от vikup34
Как переделать сайт, cозданный в Joomla Lavra Edition 2008 (1.0.15) на Joomla3x ?

Автор KrisKras

Ответов: 12
Просмотров: 5443
Последний ответ 21.02.2017, 15:15:17
от KrisKras
Восстановление управляемости сайта на Joomla 1.0.12 после обновления php до версии 5.5 и последовате

Автор galogen

Ответов: 6
Просмотров: 4767
Последний ответ 15.02.2017, 01:58:44
от Alex Revo
Не работает главная страница.

Автор dance000

Ответов: 14
Просмотров: 11735
Последний ответ 01.02.2015, 17:17:01
от beliyadm