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

ixyran

  • Захожу иногда
  • 64
  • 7 / 0
Модуль показа последнего добавления.
Модуль, которого нет на официальном сайте AlphaContenta.

[вложение удалено Администратором]
« Последнее редактирование: 23.09.2009, 16:28:43 от ixyran »
*

AVoySton

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
а для версии Joomla 1.5 есть вариант?
*

alexanderussgold

  • Захожу иногда
  • 230
  • 1 / 0
Не могу его настроить. Когда выставляю в Module Mode -Alphaccntent, выходит пустое окно модуля. Да и если ставить другие параметры, то контент в Альфаконтенте упорно не видит >:(
*

ixyran

  • Захожу иногда
  • 64
  • 7 / 0
Не могу его настроить. Когда выставляю в Module Mode -Alphaccntent, выходит пустое окно модуля. Да и если ставить другие параметры, то контент в Альфаконтенте упорно не видит >:(

тоже с такой проблемой столкнулся...
попробуй другую версию. у меня все заработало...
http://dl.dropbox.com/u/3926754/mod_alphacontent_section_with_image.zip
*

alexanderussgold

  • Захожу иногда
  • 230
  • 1 / 0
Попробовал. История та же. Я вообще не могу добиться, чтобы в модулях выводились последние добавленные статьи в компоненте Альфаконтент. Что я только не делал. А если получается вывести заглавия последних статей, то при попытке перейти к этой статье, выбивает браузер на пустую страницу. В чем глюк? Может это только в последней версии такие глюки творяться?
*

alexanderussgold

  • Захожу иногда
  • 230
  • 1 / 0
Жесть. Может действительно проблема с версией Joomla. У меня 1.5.15. Ни один модуль для Альфа Контент корректно не работает.
*

ixyran

  • Захожу иногда
  • 64
  • 7 / 0
Жесть. Может действительно проблема с версией Joomla. У меня 1.5.15. Ни один модуль для Альфа Контент корректно не работает.

http://joomlaforum.ru/index.php/topic,74826.0/topicseen.html#lastPost здесь посмотри...
*

ixyran

  • Захожу иногда
  • 64
  • 7 / 0
Я от Альфаконтента отказался на одном из сайтов... Проблемы с добавлением в карту сайта статей через него, еще и получается дублирование ссылок на статьи, также нет нормального модуля для вывода его на главной странице (как меню разделов).  ^-^
*

alexanderussgold

  • Захожу иногда
  • 230
  • 1 / 0
Да, жаль. У меня тоже проблемы возни кли с созданием карты сайта в Альфаконтенте. Индексирование, соответственно, тоже страдает. А каким компонентом  пользуешься теперь? Стандартный набор для красочного отображения контента не очень - то годится.
*

ixyran

  • Захожу иногда
  • 64
  • 7 / 0
Да, жаль. У меня тоже проблемы возни кли с созданием карты сайта в Альфаконтенте. Индексирование, соответственно, тоже страдает. А каким компонентом  пользуешься теперь? Стандартный набор для красочного отображения контента не очень - то годится.
сколько видел красивых сайтов, как раз используется встроенный content и НИКОГДА альфаконтента на хорошем сайте не видел...
Как настроишь видимо... В связке с плагином SmartResizer использую, который создает миниатюры.
*

alexanderussgold

  • Захожу иногда
  • 230
  • 1 / 0
Тут даже важен не вывод контента. С этим все в порядке. Возможности вывода категорий и разделов скудноваты. Оформление вывода всех категорий очень неброско. Можешь глянуть на моем сайте под профилем, в разделе "Статьи"
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Скажите мне (давно не смотрел на этот компонент) - его суть только в выводе материалов по алфавиту?
Данную фишку можно сделать с помощью одного модуля и хака стандартного компонента (либо вынести в отдельный без наворотов), я бы делал на основе компонента поиска - такой вариант не устроит?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

alexanderussgold

  • Захожу иногда
  • 230
  • 1 / 0
Дело в том, что единственное достоинство этого компонента - это возможность выводить список и категорий и непосредственно статей открытой в данный момент категории. Вот, в принципе, основное, что необходимо. Поиск, конечно, хорошо, но лично для меня он не играет большой роли. Стандартное оформление позволяет вывести либо в виде блога, либо в виде списка категорий. К сожеленью, это все. А для пользователей такой подход является очень неудобным. По себе знаю. Поэтому и ищу что - нибудь достойное внимания, т.к. сам еще не дошел до уровня гуру и мастера языка php и стилей css. Знания ограничиваются детским садом, но я стараюсь.
*

ixyran

  • Захожу иногда
  • 64
  • 7 / 0
Тут даже важен не вывод контента. С этим все в порядке. Возможности вывода категорий и разделов скудноваты. Оформление вывода всех категорий очень неброско. Можешь глянуть на моем сайте под профилем, в разделе "Статьи"
А что мешает выводить список категорий в модуле, к примеру, слева, а в центре - статьи, вывод которых можно настроить как больше нравится.
*

alexanderussgold

  • Захожу иногда
  • 230
  • 1 / 0
А разве есть стандарный модуль для вывода категорий? Кстати, а оформить статью можно только влезая в CSS? И где именно настройка производится? Может покручу и что-нибудь выйдет.
*

ixyran

  • Захожу иногда
  • 64
  • 7 / 0
А разве есть стандарный модуль для вывода категорий? Кстати, а оформить статью можно только влезая в CSS? И где именно настройка производится? Может покручу и что-нибудь выйдет.
1. дак создаешь меню со ссылками на категории или разделы.
2. Создаешь модуль к этому меню и все.
3. Все настройки есть в Joomla этого дела.
P.S. Немного запутано сделано в joomla.
*

alexanderussgold

  • Захожу иногда
  • 230
  • 1 / 0
Суть понял, попробую. Только вот с оформлением самого контента как навести порядок? Мой редактор T ICE не позволяет качественно выполнить оформление. Да и алфавитный поиск и поиск по категориям - удобная штука.
*

Silent_Breeze

  • Захожу иногда
  • 171
  • 33 / 0
Цитировать
Мой редактор T ICE
Что за редактор такой?
Здесь всё есть... просто нужно поискать немного... ;)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Download] mod_alphacontent_v2.5 - Вывод Alphacontenta модулем.

Автор ixyran

Ответов: 1
Просмотров: 2488
Последний ответ 24.09.2009, 15:51:52
от Silent_Breeze
[Download] mod_alpharandom - показывать случайно контент.

Автор ixyran

Ответов: 1
Просмотров: 2286
Последний ответ 23.09.2009, 16:41:44
от beliyadm
Alphacontent 4.0.10 - Главная страница компонента- последние несколько материалов

Автор Ragivort

Ответов: 2
Просмотров: 2695
Последний ответ 18.06.2009, 20:47:44
от Ragivort