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

spinxaler

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Вопрос по NR Import UTF8
« : 17.05.2013, 16:01:13 »
Немного подправил экспорт\импорт под себя,  (добавил нужные поля)
в экспорте всё что надо экспортирует.

при импорте уже имеющегося товара всё нормально
но при импорте нового товара  есть проблемы .
есть три поля
product_thumb_image    varchar(255)   
product_name_image   varchar(255)   
product_full_image   varchar(255)

заношу туда название файлов, сами файлы копирую в нужную папку.
но отображается картинка после импорта только product_thumb_image.  Остальные две пишет No images.
После этого делаем экспорт и в экспорте видно что все три поля заполнены, то есть импорт прописал туда имена.

Вопрос,  может надо есчё где то прописать??   

*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Вопрос по NR Import UTF8
« Ответ #1 : 17.05.2013, 16:19:19 »
gjckt dthcbb 3/100после версии 3.10 или 3.11
полей тумб_ и фул_ нету в базе..
только имедж.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

spinxaler

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Вопрос по NR Import UTF8
« Ответ #2 : 17.05.2013, 16:34:49 »
gjckt dthcbb 3/100после версии 3.10 или 3.11
полей тумб_ и фул_ нету в базе..
только имедж.

ну как нету. если при экспорте старого товара эти поля заполнены??
и как быть в таком случае,  у меня файл на 25.000 позиций и все картинке уже на сервере
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Вопрос по NR Import UTF8
« Ответ #3 : 17.05.2013, 16:35:45 »
в базе полей этих нет.
а картинки есть
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

spinxaler

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Вопрос по NR Import UTF8
« Ответ #4 : 17.05.2013, 16:41:50 »
нашёл таблицу
jshopping_products_images
в ней
Колонка       Тип                  Комментарий
image_id             int(11)            Автоматическое приращение   
product_id             int(11)   
image_thumb     varchar(255)   
image_name         varchar(255)   
image_full             varchar(255)   
name                     varchar(255)   
ordering             tinyint(4)   
 

наверное всё тута лежит?
как плохо что не селён в php. может подскажите по коду как сделать.  
поля
product_id             int(11)   
image_thumb     varchar(255)   
image_name         varchar(255)   
image_full             varchar(255)   
name                     varchar(255)   
есть у меня в файле.   вот только ordering             tinyint(4)     чего такое??
сообразил. это порядковый номер фото в товаре.
« Последнее редактирование: 17.05.2013, 16:48:59 от spinxaler »
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Вопрос по NR Import UTF8
« Ответ #5 : 17.05.2013, 17:27:50 »
повторюсь...
последний раз....
В БАЗЕ ПОСЛЕ 3.11 НЕТ ПОЛЕЙ ТУМБ И ФУЛЛ
поставьте чистый магазин ЖШ 3.11 и посмотрите базу..
потом будете утвреждать обратное
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

spinxaler

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Вопрос по NR Import UTF8
« Ответ #6 : 18.05.2013, 00:30:46 »
повторюсь...
последний раз....
В БАЗЕ ПОСЛЕ 3.11 НЕТ ПОЛЕЙ ТУМБ И ФУЛЛ
поставьте чистый магазин ЖШ 3.11 и посмотрите базу..
потом будете утвреждать обратное
не буду спорить с гуру.
но то что надо было сделал.  установил Adminer в нём есть свой импорт экспорт через CVS и в таблицу jshopping_products_images
заполнил поля
image_id             int(11)            Автоматическое приращение   
product_id             int(11)   
image_thumb     varchar(255)   
image_name         varchar(255)   
image_full             varchar(255)   
name                     varchar(255)   
ordering             tinyint(4)   
Теперь всё отображается как надо.
Заодно и по атрибутам сделал 50.000 записей, (надо было везде поставить 2 атрибута.)
Красота да и только.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Вопрос по NR Import UTF8
« Ответ #7 : 18.05.2013, 00:44:42 »
ну и славно

поля full и thumb остались от старых версий, но не используются ядром.
зачем эти поля? если и так понятно что тумб_ и фул_ есть и проще просто в коде подкидывать приставку чем дергать что-то из базы ;)

да не гуру я ...
просто дольше слежу за компонентом вот и все ;)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

spinxaler

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Вопрос по NR Import UTF8
« Ответ #8 : 18.05.2013, 00:53:32 »
Не подскажите в каком файле искать расчёт доставки при заказе товара,  хочу всё таки сам попробовать сделать скидку на заказ при определённой доставке на основе персональной скидки продавца. (в таблице jshopping_vendors я поля сделал где скидка лежит), осталось только понять алгоритм как считается и где.

А нельзя как нибудь подвязать к способу доставки, купон на скидку,  пускай даже в коде. ведь все механизмы есть, только условия срабатывания другии.  ^-^

Да и пока на первое время сделать хотя бы чтоб просто при выборе самовывоз делал скидку 3 %.  вне зависимости от вендора.
« Последнее редактирование: 18.05.2013, 01:07:51 от spinxaler »
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Вопрос по NR Import UTF8
« Ответ #9 : 18.05.2013, 01:13:13 »
все обычно считается в фанкшион.пхп
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Igoritaly

  • Давно я тут
  • 659
  • 2 / 0
Re: Вопрос по NR Import UTF8
« Ответ #10 : 28.04.2014, 20:03:43 »
Немного подправил экспорт\импорт под себя,  (добавил нужные поля)

А где можно скачать чудо расширение NR import/NR export?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Усовершенствованный импорт Import UTF8

Автор vagkrsk

Ответов: 323
Просмотров: 61532
Последний ответ 26.05.2020, 10:21:34
от kit2m2
Simple import UTF-8

Автор rand

Ответов: 6
Просмотров: 3270
Последний ответ 16.02.2020, 21:12:51
от nevigen
NR Import UTF8. как залить один товар в несколько категорий

Автор d13v555

Ответов: 5
Просмотров: 3428
Последний ответ 27.11.2018, 14:22:42
от Silent_Breeze
Не работает NR Export(IMPORT) UTF8

Автор ilshat1978

Ответов: 8
Просмотров: 5968
Последний ответ 13.06.2017, 17:21:31
от nevigen
Simple Import UTF8 рабочий пример

Автор Ragivort

Ответов: 9
Просмотров: 2896
Последний ответ 10.12.2015, 12:59:39
от Ragivort