Новости 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 Ответов
  • 4632 Просмотров
*

katerina37

  • Захожу иногда
  • 95
  • 0 / 0
  • он прилетел.....
архив k2
« : 18.11.2011, 14:14:25 »
Здравствуйте! Как сделать вывод архива, созданного на основе K2-tools, материалов из ОПРЕДЕЛЕННЫХ категорий, а не одной, как стоит в настройках? Если я выбираю главную категорию (без собственных материалов), в которую входят подкатегории со своими материалами, то никакие статьи не выводятся. Как настроить модуль так, чтобы или можно было видеть материалы из подкатегорий, или можно было выбирать в фильтре настройки модуля несколько категорий одновременно?
*

StarMag

  • Moderator
  • 228
  • 25 / 0
  • после ночи разбора РНР кода
Re: архив k2
« Ответ #1 : 18.11.2011, 20:29:54 »
Как вариант - поставить плагин автоархивации, но тогда все архивные материалы будут в одной (архивной) категории.
Ну почему никто никогда не читает справочные материалы?...
*

katerina37

  • Захожу иногда
  • 95
  • 0 / 0
  • он прилетел.....
Re: архив k2
« Ответ #2 : 21.11.2011, 11:44:25 »
нет, мне нужно делать архивы по папкам-месяцам публикования новостей, поскольку сайт новостной...
*

StarMag

  • Moderator
  • 228
  • 25 / 0
  • после ночи разбора РНР кода
Re: архив k2
« Ответ #3 : 21.11.2011, 13:38:27 »
Ну тогда надо дописывать плагин. Чтобы он в категории архива создавал категорию с датой в виде названия и ложил материалы в них.
« Последнее редактирование: 21.11.2011, 13:41:39 от StarMag »
Ну почему никто никогда не читает справочные материалы?...
*

katerina37

  • Захожу иногда
  • 95
  • 0 / 0
  • он прилетел.....
Re: архив k2
« Ответ #4 : 21.11.2011, 13:40:53 »
согласна, но он выводит или из ВСЕХ категорий, или только из одной. А мне нужно из конкретных нескольких. То есть у меня одна категория главная (без собственных материалов), в которую вложены подкатегории. Мне нужно вывести архивом материалы только из этих подкатегорий
*

StarMag

  • Moderator
  • 228
  • 25 / 0
  • после ночи разбора РНР кода
Re: архив k2
« Ответ #5 : 21.11.2011, 13:45:04 »
Тобишь в каждой подкатегории вы хотите выводить архив материалов из этой подкатегории?
Ну почему никто никогда не читает справочные материалы?...
*

katerina37

  • Захожу иногда
  • 95
  • 0 / 0
  • он прилетел.....
Re: архив k2
« Ответ #6 : 21.11.2011, 13:51:35 »
не совсем так. Объясню подробнее. Есть НЕСКОЛЬКО категорий основных, в каждой из которых есть свои подкатегории. Мне нужно вывести материалы только из ОДНОЙ основной категории и ее подкатегорий. Если я выбираю фильтр в архиве ПО ЭТОЙ ОДНОЙ категории, то материалы вообще не выводятся, поскольку они есть только у ее подкатегорий. Меня в принципе устраивает сама суть вывода архива по месяцам, но только мне нужно сделать из НЕСКОЛЬКИХ конкретных категорий, а не со всего сайта!
*

katerina37

  • Захожу иногда
  • 95
  • 0 / 0
  • он прилетел.....
Re: архив k2
« Ответ #7 : 21.11.2011, 13:54:28 »
вот сам сайт: http://www.photo.globus-style.ru
Сейчас у меня не стоит фильтр, архив выводится из всех материалов сайта. А мне нужно из конкретных рубрик слева (строительство, ЖКХ, недвижимость.....) Поскольку они у меня как подкатегории выводятся из ОДНОЙ категории. Но если я выбираю фильтр именно по этой категории, то материалы не выводятся вообще
*

StarMag

  • Moderator
  • 228
  • 25 / 0
  • после ночи разбора РНР кода
Re: архив k2
« Ответ #8 : 21.11.2011, 14:03:56 »
В принципе есть идея, дописать код К2Tools(Архива) чтобы он брал материалы из дочерних категорий тоже.
Ну почему никто никогда не читает справочные материалы?...
*

katerina37

  • Захожу иногда
  • 95
  • 0 / 0
  • он прилетел.....
Re: архив k2
« Ответ #9 : 21.11.2011, 14:05:32 »
хорошая идея, я тоже о ней думала))) Есть одна загвоздка... выражение ДОПИСАТЬ КОД и я - две вещи несовместные...(((
*

StarMag

  • Moderator
  • 228
  • 25 / 0
  • после ночи разбора РНР кода
Re: архив k2
« Ответ #10 : 21.11.2011, 14:14:05 »
Я в принципе могу дописать, но из-за нехватки свободного времени гарантировать написание в короткие сроки не смогу.
Ну почему никто никогда не читает справочные материалы?...
*

katerina37

  • Захожу иногда
  • 95
  • 0 / 0
  • он прилетел.....
Re: архив k2
« Ответ #11 : 21.11.2011, 14:21:00 »
О, это было бы замечательно! Встречный вопрос по цене... А также, по топику http://joomlaforum.ru/index.php/topic,186316.0.html - возможно ли дописать также и это? ТО есть возможность структурировать и выводить пользователей-компании по полю Вид деятельности
*

StarMag

  • Moderator
  • 228
  • 25 / 0
  • после ночи разбора РНР кода
Re: архив k2
« Ответ #12 : 21.11.2011, 14:36:37 »
Да я и за спасибо могу сделать, это же не 500 строк кода писать))
По второму вопросу - надо смотреть по коду, в принципе возможно.
Но у меня сейчас очень-очень слабо со свободным временем, а там задачка покрупнее будет.
Может вам имеет смысл обратиться к фрилансерам?
Ну почему никто никогда не читает справочные материалы?...
*

katerina37

  • Захожу иногда
  • 95
  • 0 / 0
  • он прилетел.....
Re: архив k2
« Ответ #13 : 21.11.2011, 14:39:34 »
мне это очень срочно пока не нужно,  так что время терпит. Конечно, была бы благодарна Вам за помощь, по возможности Вашего свободного времени и сил!
*

StarMag

  • Moderator
  • 228
  • 25 / 0
  • после ночи разбора РНР кода
Re: архив k2
« Ответ #14 : 21.11.2011, 14:49:10 »
Кстати, какую версию К2 вы используете?
Ну почему никто никогда не читает справочные материалы?...
*

katerina37

  • Захожу иногда
  • 95
  • 0 / 0
  • он прилетел.....
Re: архив k2
« Ответ #15 : 21.11.2011, 14:52:38 »
2.5.0 и Joomla 1.5.24 Stable
*

msweb

  • Захожу иногда
  • 63
  • 0 / 0
Re: архив k2
« Ответ #16 : 22.11.2011, 12:00:06 »
Боже мой! 2.5.0 - и те же проблемы! Ну неужели разработчики не в силах решить этот вопрос с подкатегориями в архиве раз и навсегда? На их форуме по этому поводу много топиков есть, а они - не слышат! Тема также актуально и для к2.4.1! (на форуме тоже про это спрашивали) Если уважаемый StarMag сможет решить этот вопрос и для этой версии - я думаю многие ему скажут спасибо!
*

StarMag

  • Moderator
  • 228
  • 25 / 0
  • после ночи разбора РНР кода
Re: архив k2
« Ответ #17 : 24.11.2011, 00:44:14 »
Вопрос по архиву частично решен. Читаем здесь.
Ну почему никто никогда не читает справочные материалы?...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

K2 tools Архив выводит материалы только за последний год

Автор aliakbarov_nariman

Ответов: 0
Просмотров: 1242
Последний ответ 24.03.2016, 11:18:51
от aliakbarov_nariman
k2 tools архив

Автор slikNET

Ответов: 8
Просмотров: 1483
Последний ответ 21.12.2015, 12:29:47
от slikNET
Архив в k2

Автор Pirog

Ответов: 13
Просмотров: 3851
Последний ответ 23.06.2015, 17:42:47
от Андрей Кривошеин
Архив

Автор alfer

Ответов: 0
Просмотров: 2304
Последний ответ 15.01.2015, 00:02:10
от alfer
Неправильно работает k2 tools календарь и архив: беда с датами

Автор intuitive

Ответов: 7
Просмотров: 2251
Последний ответ 15.07.2014, 00:33:49
от muratb