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

dimko300

  • Захожу иногда
  • 61
  • 1 / 0
Посмотрел форум, но не нашел похожей проблемы, как у меня. Может кто подскажет почему картинки, вставляемые мною в новости могут не отображаться на сайте? Joomla 1.5. последняя, редактор 2.1, хотя и на 1,5 тоже не работало. Может быть где то есть настройки о которых я еще не знаю? Не обращал внимания на эту проблему, пока не наступил момент, пока не возникла в этом необходимость... А теперь бьюсь и ни чего не могу понять. Вроде бы все элементарно, в таблице новость представляет собой обычный HTML код, путь к картинке прописан абсолютно полный... В других компонентах при таком же раскладе все отображается корректно. А в новостях пусто! ! Буду признателен за любую подсказку!
*

Adrian1111

  • Захожу иногда
  • 271
  • 1 / 0
Форма картинки есть с иконкой. Или совсем нет - в месте, где должна быть картинка, абсолютно пусто?
*

dimko300

  • Захожу иногда
  • 61
  • 1 / 0
Да, как будто картинки вообще нет! Есть вариант, когда программа видит код и не может загрузить картинку, а тут просто, как будто игнорируется код с картинкой. При этом в предварительном просмотре в админке картинки отображаются!
*

dimko300

  • Захожу иногда
  • 61
  • 1 / 0
Ау, народ! Не ужели ни у кого ни каких идей??
*

SK

  • Живу я здесь
  • 2155
  • 164 / 0
Ау, народ! Не ужели ни у кого ни каких идей??
А какие могут быть идеи, если Вы дали не полную информацию.
Для начала хотелось бы на сайт глянуть. Есть ссылка?
Не понятно как Вы выводите свои новости - блогом категории, избранным, модулем каким?
Пишите конкретнее, типа - есть такой-то тип меню, переходя на который отображаются материалы (вводная часть) без картинок.
Либо - есть модуль, который выводит список новостей без картинок.
Вообщем, давайте более конкретную информацию.
*

dimko300

  • Захожу иногда
  • 61
  • 1 / 0
Пожалуйста:
Вывожу новости стандартным способом, без всяких модулей. В основном меню сформирована ссылка на категорию в виде блога.
Ссылка на сайт: http://www.zapoved.net
Слева в меню ссылка - новости Российского туризма.
Вообщем ни чего лишнего, все как в стандартной Joomla без дополнительных модулей и компонентов.
*

dimko300

  • Захожу иногда
  • 61
  • 1 / 0
В частности внизу сайта есть ссылка рекламодателям - это тоже ссылка на стандартную новость Joomla. - там вставлена картинка с изображением сайта - но она тоже не отображается!
*

SK

  • Живу я здесь
  • 2155
  • 164 / 0
Пожалуйста:
Вывожу новости стандартным способом, без всяких модулей. В основном меню сформирована ссылка на категорию в виде блога.
Ссылка на сайт: http://www.zapoved.net
Слева в меню ссылка - новости Российского туризма.
Вообщем ни чего лишнего, все как в стандартной Joomla без дополнительных модулей и компонентов.
Т.е. Вы хотите сказать, что в вводной части материалов (до "Подробнее") вставлено по всем правилам изображение и это изображение не показывается?
Расскажите подробнее как вставляли картинку, какой редактор используете.
*

dimko300

  • Захожу иногда
  • 61
  • 1 / 0
Используется редактор JSE - 2.0.15, вставляется картинка опять же стандартным способом, через средства самого редактора, т.е. вставить картинку ->выбрать картинку на жд->загрузить->вставить ! Ни каких дополнительных действий и инструментов! При этом этот же редактор вставляет картинки в социалке, мозетсе, блогах - все нормально и везде картинки отображаются! (это все в пределах одного портала). А тут беда какая то, не хочет отображаться и все? Я уже написал, что смотрю в базе табличку _content - там вся новость сохраняется корректно, со всеми картинками, при этом путь до картинки полный. Редирект в хтакцессе сделан (имеется ввиду в WWW)... Уже просто не знаю что крутить. В настройках вроде бы ни где нет такой функции, что бы отключать картинки в новостях! ??
*

SK

  • Живу я здесь
  • 2155
  • 164 / 0
dimko300, ну мне трудно что-то еще сказать, не видя материал в админке в режиме редактирования.
Кажись делаете все правильно. Странная ситуация.
*

dimko300

  • Захожу иногда
  • 61
  • 1 / 0
Цитировать
Я уже написал, что смотрю в базе табличку _content - там вся новость сохраняется корректно, со всеми картинками, при этом путь до картинки полный.
Кстати компонент блоги сохраняет записи в этой же табличке и все нормально - там все картинки отображаются!
*

dimko300

  • Захожу иногда
  • 61
  • 1 / 0
Если это что то изменит, могу предоставить доступ к админке, посмотрите.
*

SK

  • Живу я здесь
  • 2155
  • 164 / 0
Если это что то изменит, могу предоставить доступ к админке, посмотрите.
Пишите в личку. Гляну.
Только быстро. Через час исчезаю.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Исчезли картинки с сайта на главном экране

Автор Эльвира

Ответов: 36
Просмотров: 3502
Последний ответ 19.11.2019, 11:23:26
от wishlight
Данные получаемые из БД отображаются в не верной кодировке

Автор werewolfGSM

Ответов: 2
Просмотров: 1002
Последний ответ 05.10.2019, 16:19:45
от beliyadm
При обновлении до Mobile-Joomla.2.1.21, пропали картинки

Автор Elimelech

Ответов: 0
Просмотров: 2228
Последний ответ 15.08.2017, 13:21:31
от Elimelech
Не отображаются материалы и ссылки на сайте (joomla 1.5)

Автор МарияЛ

Ответов: 1
Просмотров: 1772
Последний ответ 18.03.2017, 19:22:31
от rebus
Открытие картинки

Автор andrei1537

Ответов: 10
Просмотров: 2040
Последний ответ 06.07.2016, 13:39:32
от draff