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

SusaninIvan

  • Захожу иногда
  • 65
  • 0 / 0
Помогите с  SEO настройками сайта!

Сайт на Joomla 2.5 +VirtueMart 2.0

В webmaster.yandex имеет такую странную структуру:



Почему дублируется структура:

magazin.html?
   
magazin/

Откуда такое количество мусора?

Вот робот сайта:

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /includes/
Allow: /components/com_virtuemart/
Disallow: /components/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Disallow: /*?
Disallow: /*&
Disallow: /*%
Disallow: /*notify$
Disallow: /*askquestion
 
User-agent: Yandex
Disallow: /administrator/
Disallow: /cache/
Disallow: /includes/
Allow: /components/com_virtuemart/
Disallow: /components/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Disallow: /*?
Disallow: /*&
Disallow: /*%
Disallow: /*notify$
Disallow: /*askquestion
Host: site.com.ua
Sitemap: sitemap
*

music.sucks999

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Заранее приношу свои извинения, ежели задаю вопрос не по адресу.

у меня есть проблема, как наполнять сайт информацией.
вопрос в форматировании.
какой редактор выбрать?
когда я копирую из Wordа он вроде бы сохраняет формат, но при этом происходят всякие неприятные вещи типа неадекватного расстояния между строчек итп. приходится всё это вручную настраивать, копаться в HTML. А мне надо сделать так, чтобы без лишних вмешательств вставлять инфу могли люди мало сведущие в вёрстке.

+ самое главное. в шаблоне же задаётся форматирование текста!
а при настройке из редактора, выходит, что я задаю форматирование мануально. это ведь означает, что если я захочу у своих 9000 страниц сменить форматирование, то мне придётся вручную переформатировать все эти страницы?
*

Good_user

  • Захожу иногда
  • 149
  • 5 / 1
Всем доброго времени суток :-)

Есть на Joomla 1.5 такая неприятность, когда создаешь модуль и активируешь его, к примеру, только на одной странице, то на других страницах на месте этого модуля будет "светится" пустота или если есть стили, то будут выводится только они без содержимого самого модуля.

Как-то раньше закрывал на это глаза, но теперь возникла необходимость разобраться в этом вопросе.

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

Пользовал поиск по форуму и нашел похожую тему, вот: http://joomlaforum.ru/index.php?topic=235006.0.

В моем случае подобное решение не подходит...или возможно я неправильно правлю код. Я почти ничего не понимаю в PHP, делаю все методом тыка :-)
Вот кусок кода, который отвечает за вывод той позиции, в которую публикую модуль Хлебные крошки:

Код
// output pathway
if ($option != 'com_frontpage') {
echo ' <div id="pathway">' . "\n";
echo '<jdoc:include type="modules" name="breadcrumb" />';
echo ' </div>' . "\n";
}

Делал разные манипуляции (опять же методом тыка) с кодом по типу решения, которое предложил Fedor Vlasenko в вышеуказанной мною похожей теме, но сайт вообще переставал открываться.

За помощь + в карму и символическое вознаграждение в 1$ на Вебманьку. Заранее спасибо!
*

sashavi

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Ребята, проблема такая. Установил Jcomments 2.3(компонент для комментариев), но когда нужно выбрать сами категории, где должны быть отзывы - то их найти не могу. Скрины нужных категорий и того, что при выборе они не отображаются в приложении.

Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как найти и определить сервис раскрутки сайта?

Автор Gosha5767

Ответов: 0
Просмотров: 4912
Последний ответ 08.07.2025, 17:19:50
от Gosha5767
Как вывести в сниппете название статьи, а потом название сайта?

Автор gorbi_U

Ответов: 0
Просмотров: 1096
Последний ответ 18.01.2022, 18:29:22
от gorbi_U
Яндекс не индексирует вообще картинки с сайта

Автор Девушка с веслом

Ответов: 6
Просмотров: 1252
Последний ответ 10.05.2021, 17:21:18
от xpank
Сервис или программа для оценки позиций сайта

Автор dron

Ответов: 12
Просмотров: 8271
Последний ответ 12.03.2021, 18:02:22
от v42bis
Продвижение сайта в Москве

Автор Arenida

Ответов: 3
Просмотров: 1879
Последний ответ 08.06.2020, 10:32:03
от kostikcom