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

Nikolay

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Вопросы по K2
« : 31.08.2011, 21:44:48 »
Существует ниже приведенная структура элементы которой являются фото материалы:
Еда(категория)
     Супы(подкатегория)
            Грибные(подкатегория)
                        Грибной1(элемент)
                        Грибной2(элемент)
                        Грибной3(элемент)
Все это сделано на К2 и выводятся только элементы, а нужно чтобы выводилось название категорий и при щелчке на ней выводились элементы этой категории.

Подскажите как это можно реализовать на К2?   

*

Nikolay

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Вопросы по K2
« Ответ #1 : 02.09.2011, 09:59:46 »
есть следующая структура в К2:
еда(7)
        супы(10)
        отбивные(5)
нужно сделать вывод 7+10+5 элементов, как получить все саб категории?
пока вышел из положение следующим способом:
<?php
$items = $items_dict[$subCategory->id];
if ($subCategory->id == 2) {
$items = array_merge($items, $items_dict[9], $items_dict[10]);
}
?>

за ранее спасибо.
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Re: Вопросы по K2
« Ответ #2 : 02.09.2011, 11:23:17 »
еда(7) ---> категория
        супы(10) ---> подкатегория
        отбивные(5) ---> подкатегория

Вам нужно вывести все материалы?
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

Nikolay

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Вопросы по K2
« Ответ #3 : 02.09.2011, 13:18:01 »
да, т.е. материалы данной категории и материалы подкатегорий данной категории, сколь бы этих подкатегорий не было, а то на данный момент прописано все жестко и если добавить еще одну подкатегорию и не поправить код, то ее материалы выводится не будут
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Re: Вопросы по K2
« Ответ #4 : 02.09.2011, 13:23:19 »
Если я правильно вас понял, то ничего вообще в коде менять не нужно.
В настройках категорий и подкатегорий (!), если не наследуются параметры, поставьте "Шаблон материалов категории---->Другие опции вывода---->Режим каталога---->нет"
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #5 : 02.09.2011, 19:56:59 »
А может кто напомнит где ширина прописывается изображения под-категорий.
Home » Продукты » Видеосистемы - у меня так идёт.
и видеосистемах у меня выведены 10 под-категорий  и картинка категории идёт размером 449px
<div class="subCategory" style="height: 449px; 

Где это может быть?!
Смотрю....
*

StarMag

  • Moderator
  • 228
  • 25 / 0
  • после ночи разбора РНР кода
Re: Вопросы по K2
« Ответ #6 : 03.09.2011, 23:12:30 »
Настройки компонента К2 - Ширина изображения категории (в пикселях)
Ну почему никто никогда не читает справочные материалы?...
*

Nikolay

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Вопросы по K2
« Ответ #7 : 04.09.2011, 15:24:16 »
у меня catalog mod во всех категориях и под категориях стоит - нет, что заметил, вот такая у меня структура, если жестко не задать как я писал выше, то отобразятся элементы еда(7) т.е. в количестве семи штук:)

еда(7) ---> категория
        супы(10) ---> подкатегория
        отбивные(5) ---> подкатегория
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #8 : 05.09.2011, 02:06:00 »
Настройки компонента К2 - Ширина изображения категории (в пикселях)
В вашем же ответе по идее и есть ответ. Но это ширина настройки изображения категории. меняя его меняется картинка категории, но мне нужно поменять в категории изображения подкатегорий (эта настройка не подходит)

вывожу кстати категории через меню K2 » Itemlist / Категория
« Последнее редактирование: 05.09.2011, 12:05:25 от yrygvay »
Смотрю....
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #9 : 06.09.2011, 17:51:15 »
ещё 1 вопрос по меню.

кто подскажет как реализовать:

Главное меню
-Подменю
--выбор 123
---1
---2
---33

Как сделать в таком виде меню, что бы небыли активными * -Подменю --выбор 123*
Что бы посетитель не попадал в категорию и под-категорию К2, а была возможность перейти только непосредственно  на страничку материала?!
Смотрю....
*

Nikolay

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Вопросы по K2
« Ответ #10 : 07.09.2011, 12:01:08 »
как реализовать вывод того что в item.php + то что в category.php файле этого же шаблона?
если просто скопировать в item.php то что в category.php, то выводится только то что в item.php для categoty.php контейнер - пуст.

Спасибо
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Вопросы по K2
« Ответ #11 : 07.09.2011, 12:39:36 »
как реализовать вывод того что в item.php + то что в category.php файле этого же шаблона?
если просто скопировать в item.php то что в category.php, то выводится только то что в item.php для categoty.php контейнер - пуст.

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

Nikolay

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Вопросы по K2
« Ответ #12 : 07.09.2011, 23:14:27 »
уже понял, что ни чего хорошего не будет) мне нужно от элемента узнать к какой категории он принадлежит и вывести все элементы соответствующей категории.
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Вопросы по K2
« Ответ #13 : 08.09.2011, 07:46:07 »
Если списком - есть же стандартная возможность показать "Ещё материалы из этой категории"
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #14 : 20.09.2011, 15:19:41 »
Подскажите запрос к базе К2:

Что бы все статьи и категории стали доступны для не зарегистрированных пользователей.


p.s при переносе  на 1.7 -2.5 слетел доступ к материалам и категориям
Смотрю....
*

elf513

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Вопросы по K2
« Ответ #15 : 20.09.2011, 17:04:02 »
Подскажите пожалуйста может кто сталкивался, почему-то на сайте когда заходишь в категорию новости, то выдается такая фраза "Notice: Constant K2_JVERSION already defined in /.../docs/plugins/system/k2/k2.php on line 248" сверху всего текста с новостями, как это исправить? Строка 248 в файле k2.php выглядит так: define('K2_JVERSION','16');
« Последнее редактирование: 20.09.2011, 17:33:07 от elf513 »
*

StarMag

  • Moderator
  • 228
  • 25 / 0
  • после ночи разбора РНР кода
Re: Вопросы по K2
« Ответ #16 : 20.09.2011, 23:57:05 »
Подскажите запрос к базе К2:

Что бы все статьи и категории стали доступны для не зарегистрированных пользователей.


p.s при переносе  на 1.7 -2.5 слетел доступ к материалам и категориям
Код
UPDATE `#_k2_items`
SET `access`=1
Для материалов
Код
UPDATE `#_k2_categories`
SET `access`=1
Для категорий
# - пишем вместо этого префикс ваших таблиц в базе
И все материалы и категории станут Public

Цитировать
Подскажите пожалуйста может кто сталкивался, почему-то на сайте когда заходишь в категорию новости, то выдается такая фраза "Notice: Constant K2_JVERSION already defined in /.../docs/plugins/system/k2/k2.php on line 248" сверху всего текста с новостями, как это исправить? Строка 248 в файле k2.php выглядит так: define('K2_JVERSION','16');
А в других категориях?
Кстати эта фраза означает что константа K2_JVERSION уже определена, значит по идее что-то еще юзает такую же константу...
« Последнее редактирование: 21.09.2011, 00:03:00 от StarMag »
Ну почему никто никогда не читает справочные материалы?...
*

elf513

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Вопросы по K2
« Ответ #17 : 21.09.2011, 12:22:44 »
Почему-то только в новостях, на главной странице нет, нигде больше. А как новость открываешь сверху эта фраза. То что константа определена это я поняла, только вот как убрать это не знаю :(
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Вопросы по K2
« Ответ #18 : 21.09.2011, 12:29:52 »
... значит по идее что-то еще юзает такую же константу...

Не юзает а именно объявляет.

К2 давно брали с svn? В последних сборках в самом компоненте вроде бы не было нигде объявления этой константы, только в плагине.

Шаблон нестандартный? Может быть разработчики шаблона воткнули объявление константы?
*

elf513

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Вопросы по K2
« Ответ #19 : 21.09.2011, 14:51:37 »
Шаблон писался в Artisteer 3, а откуда можно скачать последнюю версию К2? на официальном сайте не смогла найти. Мне для Joomla 1.7 нужно
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #20 : 21.09.2011, 15:05:38 »
Смотрю....
*

elf513

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Вопросы по K2
« Ответ #21 : 21.09.2011, 15:26:39 »
Установила все с этой ссылки, но надпись так и не исчезла, только номер строки на которую указывает изменился((
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Вопросы по K2
« Ответ #22 : 21.09.2011, 16:15:15 »
Попробуйте поиском по всем файлам строки define('K2_JVERSION

Кроме \plugins\system\k2\k2.php нигде не должно быть, так как в плагине констата должна объявляться раньше всего
*

elf513

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Вопросы по K2
« Ответ #23 : 21.09.2011, 17:23:56 »
поиск ничего не дал, потому что кроме как в файле k2.php такой строчки нигде нет(((
*

StarMag

  • Moderator
  • 228
  • 25 / 0
  • после ночи разбора РНР кода
Re: Вопросы по K2
« Ответ #24 : 21.09.2011, 22:32:33 »
Не юзает а именно объявляет.
Именно это и имел ввиду...
Цитировать
поиск ничего не дал, потому что кроме как в файле k2.php такой строчки нигде нет(((
Все-все-все файлы проверили? Потому-что просто так даже котята не рождаются, как гласит поговорка.

P.S. yrygvay SQL запрос помог?
Ну почему никто никогда не читает справочные материалы?...
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #25 : 23.09.2011, 15:16:28 »
ДА, спасибо большое) я благодарность + выражаю!

А может напомните (было где тов темах) поставил редактор JCE на 1,7, а в материалах нет его меню, а только окно с HTML кодом чистым?

Как включить нормальный вид?!

и что может быть за глюк в редакторах, при нажатии кнопки "ссылки-подробнее" выкидывает в главное меню Joomla (при наведение на эту кнопку мышкой видна ссылка http://mysite.ru/administrator/#
« Последнее редактирование: 23.09.2011, 15:23:35 от yrygvay »
Смотрю....
*

StarMag

  • Moderator
  • 228
  • 25 / 0
  • после ночи разбора РНР кода
Re: Вопросы по K2
« Ответ #26 : 23.09.2011, 15:24:36 »
Цитировать
Как включить нормальный вид?!
А версия какая? 2.0.14?
Там вверху кнопочка [show/hide]
Цитировать
и что может быть за глюк в редакторах, при нажатии кнопки "ссылки-подробнее" выкидывает в главное меню Joomla (при наведение на эту кнопку мышкой видна ссылка http://mysite.ru/administrator/#
а это уже конфликт ява-скриптов
Случайно Compress Javascript в настройках JCE не ставили?
« Последнее редактирование: 23.09.2011, 15:28:30 от StarMag »
Ну почему никто никогда не читает справочные материалы?...
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #27 : 23.09.2011, 15:52:18 »
Там вверху кнопочка [show/hide]а это уже конфликт ява-скриптов
Случайно Compress Javascript в настройках JCE не ставили?

Да у меня это в стандартном наблюдается.

+ нет кнопки [show/hide]

« Последнее редактирование: 23.09.2011, 15:56:07 от yrygvay »
Смотрю....
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #28 : 25.09.2011, 21:14:37 »
не будет предположений?!
Смотрю....
*

StarMag

  • Moderator
  • 228
  • 25 / 0
  • после ночи разбора РНР кода
Re: Вопросы по K2
« Ответ #29 : 25.09.2011, 22:04:07 »
А в глобальных настройках точно JCE стоит редактором по умолчанию?
Плагин опубликован?
Версия какова?
Ну почему никто никогда не читает справочные материалы?...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вопросы по К2 (вывод id, автовыбор категории)

Автор vadyagt

Ответов: 0
Просмотров: 935
Последний ответ 10.12.2014, 22:30:07
от vadyagt
Каталог организаций. вопросы по К2

Автор bitterlemon

Ответов: 3
Просмотров: 1803
Последний ответ 19.09.2013, 03:09:51
от bitterlemon
К2 для Joomla 2.5 с нуля. Общие вопросы

Автор dron

Ответов: 2
Просмотров: 1400
Последний ответ 22.01.2013, 23:12:47
от paternoster
Вопросы по тегам, доп полям и сортировке материалов

Автор andreiz

Ответов: 13
Просмотров: 3148
Последний ответ 30.08.2012, 00:26:37
от andreiz
Вопросы по тегам

Автор xilgiz

Ответов: 4
Просмотров: 2927
Последний ответ 22.03.2012, 16:02:37
от xilgiz