Новости 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 Пользователей и 2 Гостей просматривают эту тему.
  • 109 Ответов
  • 28769 Просмотров
*

katrey

  • Захожу иногда
  • 116
  • 7 / 1
Внимание! В период с 20 декабря по 20 января на компонент будет действовать скидка - 10 USD.
Всех с наступающими праздниками!
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Опять не могу не поблагодарить разработчика компонента. Моментальная правка и доработка компонента. Импорт товара из файла в 50 мб, более 100 полей.

Смотрю....
*

katrey

  • Захожу иногда
  • 116
  • 7 / 1
Список изменений компонента за последние 3 месяца:
31.05.2018 (v 6.0.0)
1) Добавлен менеджер загрузки изображений на странице "Импорт"
2) Опции настойки создания миниатюр перенесены со страницы "Импорт" на страницу "Профили настроек"
3) YML-экспорт:
- ссылки на товары теперь формируются роутером VM
- Опция вывода тэга "description" перенесена из общих настроек в секцию "Дополнительные тэги"
- добавлена кнопка прерывания создания YML-файла
- в секции "Дополнительные тэги" теперь значение тэга "sales_notes" можно задавать индивидуально для каждого товара через настраиваемое поле типа "Строка".
4) XLS-экспорт: добавлена опция "Кол-во уровней вложенности", которая позволяет ограничить экспорт только категориями верхних уровней. Количество уровней выбирается в выпадающем списке.
5) Обновления и тех. поддержка - добавлено поле "E-mail для ответа"

26.04.2018 (v 5.28.0)
YML-импорт:
1) Теперь для считывания прайса используется XMLReader. Это ускорит процесс импорта и снизит потребление оперативной памяти.
YML-экспорт:
1) Добавлена поддержка плагина Custom Fields For All
2) Добавлен тэг "country_of_origin". Информация о стране производства берется из поля URL в карточке производителя. Тэг можно включить/отключить в секции "Дополнительные тэги" в профиле настроек экспорта.
Excel-экспорт:
1) Устранена проблема, из-за которой у некоторых пользователей создавался пустой файл при выборе формата XLSX.

29.03.2018 (v 5.27.0)
YML-импорт: если в файле импорта присутствуют тэги "outlets", то количество товаров на складе будет браться из них. В противном случае - из поля "Количество по умолчанию"
YML-экспорт:
1) в фильтрах товаров добавлена опция "Экспортировать неопубликованные категории". Если выбрано "Нет", то категории, снятые с публикации, и товары, которые размещены только в этих категориях, не будут экспортироваться.
2) в секции "Дополнительные тэги" добавлена опция, которая позволяет отключить тэг "rec", который выводит ID сопутствующих товаров.
3) добавлены тэги "outlets", которые отвечают за количество товаров на складе. А также в секции "Дополнительные тэги" добавлена опция, которая позволяет отключить данный тэг.

21.02.2018 (v 5.26.0)
1) YML-экспорт: добавлено автоматическое разделение товара на несколько подтоваров в YML-файле, если товар имеет несколько цветовых и/или размерных вариаций. Чтобы алгоритм сработал правильно, названия соответствующих настраиваемых полей должны быть: "Цвет" и "Размер" (без кавычек)
2) Excel-импорт: в настройках профиля в форме для создания Спец. цен добавлены поля для указания диапазона дат действия цен.

6.02.2018 (v 5.25.0)
1) YML-импорт: в настройки профиля добавлено поле "Начать с товара №:". Все товары, которые будут в YML-файле до этого номера, обрабатываться не будут.
2) Настройки профиля импорта/экспорта Excel: добавлено поле "Названия сопутствующих товаров"
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Отличное расширение, прямо на высоте!
Настроили с его помощью авто импорт/обновление товаров из 1С.

Пожелания принимаете? :)

Опция "Убирать в названиях повторяющиеся пробелы" была бы полезна, на мой взгляд.
Возможно, будет интересно: Интеграция с Ozon
*

katrey

  • Захожу иногда
  • 116
  • 7 / 1
Пожелания принимаете? :)
Да, конечно.
Добавлю в следующем обновлении такую опцию.
*

katrey

  • Захожу иногда
  • 116
  • 7 / 1
Поздравляю Всех форумчан с наступающим Новым годом! *DRINK*
Рад сообщить, что до 15 января на компонент Excel2VM действует скидка 10 USD!
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Поздравляю Всех форумчан с наступающим Новым годом! *DRINK*
Рад сообщить, что до 15 января на компонент Excel2VM действует скидка 10 USD!
И Вас от души!  *DRINK*

Очень классное предложение (и расширение)!
Воспользовался бы, но уже есть )

Katrey, а как Вы смотрите на то, чтобы сделать импорт/экспорт через Google таблицы?  ^-^
(как альтернатива Excel)
Возможно, будет интересно: Интеграция с Ozon
*

katrey

  • Захожу иногда
  • 116
  • 7 / 1
Обязательно рассмотрю возможность реализации данной идеи.
*

Akeksandr

  • Захожу иногда
  • 396
  • 12 / 0
Список изменений за последние 3 месяца:

16.07.2015 (v 3.6.8) добавлен новый тип полей - "Пользовательские поля". Это нестандартные поля, которые добавляются пользователем вручную через phpMyAdmin в таблицу #__virtuemart_products. Администратор указывает название поля (отображается в интерфейсе выбора столбцов) и системное имя поля (как поле называется в таблице базы данных, только английские буквы в нижнем реестре и цифры). Если поле с заданным системным именем не будет найдено в таблице #__virtuemart_products, то оно будет создано (тип поля - TEXT). Для того, чтобы воспользоваться новым типом полей, необходимо активировать его в Настройках компонента на вкладке "Дополнительные возможности"
Очень интересует данная функция. Но не могу осилить. Например мне нужно добавить изображение для каждого производителя.
Я пишу своё название для данного поля и в нижней строчке нужно указать название таблицы из phpMyAdmin?
Кто точно знает, подскажите пожалуйста.
*

katrey

  • Захожу иногда
  • 116
  • 7 / 1
Очень интересует данная функция.
На вкладке компонента "Обновления и тех. поддержка" есть форма для отправки сообщений в поддержку. Опишите в сообщении, что и как меняли в базе данных, и получите развернутый ответ.
*

Sandmansss

  • Осваиваюсь на форуме
  • 11
  • 1 / 0
Добрый день.
Здравствуйте. Подскажите пожалуйста как настроить задание в крон с указанием конкретного профиля и файла из которого берутся данные? Просто запускаешь задание, а оно берет последний файл с иной структурой. Должна же быть возможность заданию указать и то и другое. Конструкция ..../administrator/components/com_excel2vm/models/cron.php?profile=ИМЯПРОФИЛЯ&filename=ИМЯФАЙЛА не работает.

Проблему решил. При настройке задания в cron  надо строку ..../administrator/components/com_excel2vm/models/cron.php?profile=ИМЯПРОФИЛЯ&filename=ИМЯФАЙЛА передавать в двойных кавычках.
Тогда все работает корректно.

А что до оправки сообщения в техподдержку, я пытался через сайт, но не удалось. Форма зависла и ничего не отправила.
« Последнее редактирование: 13.08.2019, 12:31:13 от Sandmansss »
*

katrey

  • Захожу иногда
  • 116
  • 7 / 1
Добрый день.
Здравствуйте. Подскажите пожалуйста как настроить задание в крон с указанием конкретного профиля и файла из которого берутся данные? Просто запускаешь задание, а оно берет последний файл с иной структурой. Должна же быть возможность заданию указать и то и другое. Конструкция ..../administrator/components/com_excel2vm/models/cron.php?profile=ИМЯПРОФИЛЯ&filename=ИМЯФАЙЛА не работает.
Здравствуйте. Тех. поддержка через форум не осуществляется. На вкладке компонента "Обновления и тех. поддержка" есть форма для отправки сообщений в поддержку. Опишите проблему в этой форме. Возможно потребуются доступы к сайту для решения проблемы.
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
Здравствуйте!
Подскажите, пожалуйста, имеются проблемы с импортом комплексных полей. Они просто игнорируются при импортре
Подскажите, а обязательно должна быть создана Настраиваемая категория в кастомных полях, чтобы было возможно создать комплексное поле?
*

katrey

  • Захожу иногда
  • 116
  • 7 / 1
Подскажите, пожалуйста, имеются проблемы с импортом комплексных полей. Они просто игнорируются при импортре
Сейчас проверил на тестовом сайте - импорт комплексных полей работает. Для комплексных полей данные указываются в таком виде:
Белый;Красный:20;Зеленый:-10
Если у вас имеются проблемы с этим типом полей, то на вкладке компонента "Обновления и тех. поддержка" есть форма для отправки сообщений в поддержку.
Подскажите, а обязательно должна быть создана Настраиваемая категория в кастомных полях, чтобы было возможно создать комплексное поле?
Нет.
*

Akeksandr

  • Захожу иногда
  • 396
  • 12 / 0
Кто-нибудь подскажет почему при импорте у Псевдонима Товара впереди появляются цифры?
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Кто-нибудь подскажет почему при импорте у Псевдонима Товара впереди появляются цифры?
Это ведь регулируется. В настройках профиля Excel/CSV - поле Генерирование псевдонимов. Выбираете, как Вам надо, там 11 вариантов )
Возможно, будет интересно: Интеграция с Ozon
*

Akeksandr

  • Захожу иногда
  • 396
  • 12 / 0
Это ведь регулируется. В настройках профиля Excel/CSV - поле Генерирование псевдонимов. Выбираете, как Вам надо, там 11 вариантов )
Да. Нашёл. Видимо как-то при обновлении изменились малость настройки.
Хотя теперь другой вопрос. У меня Псевдоним уже в екселе прописан и я их проверяю на совпадения. Зачем мне его генерить? *ОХ-Х-Х*
« Последнее редактирование: 11.02.2021, 18:10:04 от Akeksandr »
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Псевдоним уже в екселе прописан

Тогда Вы можете в профиле добавить Столбец - где искать псевдоним   ;)
Возможно, будет интересно: Интеграция с Ozon
*

Akeksandr

  • Захожу иногда
  • 396
  • 12 / 0
Тогда Вы можете в профиле добавить Столбец - где искать псевдоним   ;)
Как бы были мысли...
Может подскажите как быстрее сделать?
*

asteroidx

  • Новичок
  • 2
  • 0 / 0
Как его подружить с Custom Fields For All
Если поля влияют на цену (является атрибутом корзины)

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

Плагин доставки сдэк для Joomla+Virtuemart

Автор boraah

Ответов: 7
Просмотров: 5198
Последний ответ 16.12.2024, 23:08:25
от David_99
Поиск по настраиваемым полям (фильтр VirtueMart 2): плагин поля мультивыбора + модуль

Автор pharaoh

Ответов: 724
Просмотров: 74659
Последний ответ 28.06.2022, 09:07:29
от snikolai
Плагин оплаты картами Visa/MasterCard VirtueMart 2.x-3.x Цена 5.00 $

Автор gartes

Ответов: 33
Просмотров: 11413
Последний ответ 07.11.2021, 23:30:32
от a-li
Плагин отправки SMS при заказе в VirtueMart 2

Автор Arkantos

Ответов: 19
Просмотров: 5601
Последний ответ 22.03.2021, 17:25:23
от nnnata
Загрузка файлов в корзине VirtueMart 3

Автор Kodopik

Ответов: 0
Просмотров: 2721
Последний ответ 25.02.2021, 13:56:20
от Kodopik