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

neexon

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #690 : 25.07.2012, 22:27:08 »
откуда путь такой странный?
/var/www/images/stories/virtuemart/product//var/www/20623d9f-...

не могу сказать... может обработчик так выгружает?
*

besick

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #691 : 26.07.2012, 04:26:18 »
в VirtueMart на странице настроек пути к каталогам правильно прописаны?
*

besick

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #692 : 26.07.2012, 13:49:02 »
При выгрузке товары создаются, В админке в поле товара "Переопределение правил цен" - "Налог" - ставит "НДС" и создает 3 вида НДС 0-20-18% в настройках - "Налоги и правила расчета", А мне нужно поле - "Налог" значение "По умолчанию",  для установки наценки на разные группы. Это можно как то решить?
*

neexon

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #693 : 26.07.2012, 16:42:43 »
в VirtueMart на странице настроек пути к каталогам правильно прописаны?

в настройках virtuemart  верно, а у настроек товара - нет
*

besick

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #694 : 26.07.2012, 17:07:22 »
в карточке товара такой путь?
*

neexon

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #695 : 26.07.2012, 17:31:47 »
в карточке товара такой путь?

/var/www/images/stories/virtuemart/product/

так понимаю что должен быть /images/stories/virtuemart/product/
*

besick

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #696 : 26.07.2012, 17:34:43 »
ну у меня так :
images/stories/virtuemart/product/
и
images/stories/virtuemart/product/resized/
*

besick

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #697 : 26.07.2012, 17:44:56 »
посмотрел конфигурационный файл, я так понимаю что скрипт загрузки все пути берет из базы данных.
*

neexon

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #698 : 26.07.2012, 17:50:14 »
посмотрел конфигурационный файл, я так понимаю что скрипт загрузки все пути берет из базы данных.

основная картинка выгружается, дополнительные нет.

в какую стороны копать не подскажите?
*

besick

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #699 : 26.07.2012, 18:00:55 »
если б знал :(   

Сам в первый раз пытаюсь настроить.

Может кто из Гуру подскажет.
*

Thalt

  • Новичок
  • 9
  • 1 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #700 : 27.07.2012, 01:54:26 »
и еще в админке VirtueMart пишет
[skip]
vmError: Couldnt create thumb, file not found /var/www/images/stories/virtuemart/product//var/www/20623da1-d657-11e1-afb6-0022b0e56fdd_6992f379-d658-11e1-afb6-0022b0e56fdd.jpg
vmError: Couldnt create thumb, file not found /var/www/images/stories/virtuemart/product//var/www/20623da1-d657-11e1-afb6-0022b0e56fdd_6992f378-d658-11e1-afb6-0022b0e56fdd.jpg

Проверь пути в админке VM: Настройки -> Шаблоны -> Настройки файлов -> Путь к миниатюрам для продаваемых товаров. Там должно быть что-то вроде images/stories/virtuemart/forSale/resized/
*

besick

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #701 : 27.07.2012, 11:56:51 »
а по поводу налога мыслей нет?
*

neexon

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #702 : 27.07.2012, 17:28:33 »
Проверь пути в админке VM: Настройки -> Шаблоны -> Настройки файлов -> Путь к миниатюрам для продаваемых товаров. Там должно быть что-то вроде images/stories/virtuemart/forSale/resized/

так и есть
*

neexon

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #703 : 28.07.2012, 00:49:08 »
я так понимаю, господин Centoff тут давненько не появлялся, а хотелось бы его совета..
*

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #704 : 28.07.2012, 21:38:06 »
основная картинка выгружается, дополнительные нет.

в какую стороны копать не подскажите?
не в какую загружается тока одна картинка
*

Thalt

  • Новичок
  • 9
  • 1 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #705 : 29.07.2012, 01:33:50 »
Кстати, по поводу выгрузки характеристик товара - советую обратить внимание на соседнюю ветку, посвященную этому вопросу: http://joomlaforum.ru/index.php/topic,194649.new.html#new.
Думаю, надо предложить Centoff'у помощь в развитии функционала скрипта. Может все вместе и допинаем разработку до законченного варианта? Причем основной упор хотелось бы сделать на невнесение изменений в конфигурацию УТ - большАя часть клиентов вполне может использовать базовые версии УТ, в которые изменения внести нельзя.
А вообще - огромное ему спасибо даже за тот вариант, который сейчас есть.
*

Evgen1990

  • Новичок
  • 1
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #706 : 30.07.2012, 15:40:33 »
Доброго времени суток, уважаемый Centoff!

Joomla! 2.5.6. VirtueMart 2.0.6. Скрипт 2.0.9.

В 1С УТ есть две категории цен: закупочная и продажная. Выставил:

//Параметры отвечающие за каталог
define ( 'VM_LIST_CAT', '5' );       // Сколько отображать товаров в каталоге
define ( 'VM_DEF_CASHGR', 'продажная' );       // название основной категории цен (у меня это Розничная)

Но в базу данных грузятся такое ощущение, что рендомом: то одна, то другая. В остальном все работает отлично (мелкие ошибки сам устранил). В результате одни товары с закупочной ценой, а другие с продажной. В чем может быть дело? Везде по умолчанию продажная цена.
*

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #707 : 30.07.2012, 15:52:22 »
Доброго времени суток, уважаемый Centoff!

Joomla! 2.5.6. VirtueMart 2.0.6. Скрипт 2.0.9.

В 1С УТ есть две категории цен: закупочная и продажная. Выставил:

//Параметры отвечающие за каталог
define ( 'VM_LIST_CAT', '5' );       // Сколько отображать товаров в каталоге
define ( 'VM_DEF_CASHGR', 'продажная' );       // название основной категории цен (у меня это Розничная)

Но в базу данных грузятся такое ощущение, что рендомом: то одна, то другая. В остальном все работает отлично (мелкие ошибки сам устранил). В результате одни товары с закупочной ценой, а другие с продажной. В чем может быть дело? Везде по умолчанию продажная цена.

сделай выгрузку в каталог и посмотри какие у тебя там цены в файлай XML
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #708 : 30.07.2012, 16:28:07 »
не в какую загружается тока одна картинка
Ну почему же только одна.
У меня на J1.5.25 V1.1.9 выгружаются все картинки скриптом 2.0.8(более поздние пробовал ставить но что-то они с 1.1.9 не дружат)
Сам ничего не менял всё штатное.
А вот на Вирт 2.0.8 действительно доп. картинки выгружать не хочет.
*

payuta

  • Новичок
  • 5
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #709 : 30.07.2012, 22:56:32 »
1. Скажите, каким образом из 1С должен импортироваться производитель? Как свойство? Или как реквизит номенклатуры? У меня никак не хочет.
2. Наименования товара в 1С и в интернет-магазине у меня отличаются. Например "Котел газовый двухконтурный" и "Газовый двухконтурный котел" Выгрузка из 1С работает нормально, товар отображается, но вот при загрузке заказа из магазина в 1С создается новый товар. Т.е. синхронизация идет не по <Ид> а по наименованию, что не совсем соответствует идее CommerceML. По крайней мере в hostcms синхронизация идет именно по идентификатору. Это баг? или так и задумано?
Спасибо.
*

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #710 : 31.07.2012, 09:13:28 »
1. Скажите, каким образом из 1С должен импортироваться производитель? Как свойство? Или как реквизит номенклатуры? У меня никак не хочет.
2. Наименования товара в 1С и в интернет-магазине у меня отличаются. Например "Котел газовый двухконтурный" и "Газовый двухконтурный котел" Выгрузка из 1С работает нормально, товар отображается, но вот при загрузке заказа из магазина в 1С создается новый товар. Т.е. синхронизация идет не по <Ид> а по наименованию, что не совсем соответствует идее CommerceML. По крайней мере в hostcms синхронизация идет именно по идентификатору. Это баг? или так и задумано?
Спасибо.
так задуманно, id не учавствуют в формировании базы товаров в виртуемарте. выгружаются во временную табличку и как то там синхронизируются... уже не помню....
*

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #711 : 31.07.2012, 09:16:36 »
Разработчики VirtueMart я предполагаю слышать не слышали, что есть такая штука как 1С! :)
*

payuta

  • Новичок
  • 5
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #712 : 31.07.2012, 10:50:24 »
Разработчики VirtueMart я предполагаю слышать не слышали, что есть такая штука как 1С! :)
А о чем же они слышали? С чем-то же принято синхронизировать интернет-магазины у разработчиков? Или все прогрессивное человечество не использует подобных программ?
*

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #713 : 31.07.2012, 10:53:12 »
Это ты спроси у них самих или прочитай на форуме http://forum.virtuemart.net/
*

payuta

  • Новичок
  • 5
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #714 : 31.07.2012, 11:52:50 »
Это ты спроси у них самих или прочитай на форуме http://forum.virtuemart.net/
С английским у меня не очень, прочитать еще кое-как могу, а вот мысль сформулировать - никак
*

Thalt

  • Новичок
  • 9
  • 1 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #715 : 31.07.2012, 17:57:58 »
А о чем же они слышали? С чем-то же принято синхронизировать интернет-магазины у разработчиков? Или все прогрессивное человечество не использует подобных программ?

Все прогрессивное человечество работает далеко не на 1С :) При всех достоинствах платформы, за пределами нашей Родины про 1С никто не знает :)
Я предлагаю организовать сообщество по доработке скрипта выгрузки из 1С. Обсудить необходимый функционал, наметить пути реализации и совместными усилиями написать. Centoff, очевидно, в отпуске. Хотелось бы услышать его мнение по этому поводу, когда вернется.
*

payuta

  • Новичок
  • 5
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #716 : 31.07.2012, 22:36:53 »
Я предлагаю организовать сообщество по доработке скрипта выгрузки из 1С. Обсудить необходимый функционал, наметить пути реализации и совместными усилиями написать. Centoff, очевидно, в отпуске. Хотелось бы услышать его мнение по этому поводу, когда вернется.
+1
*

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #717 : 01.08.2012, 09:17:22 »
Одними разговорами скрипт не поднять, я так же предлагал Центу вывести проект на уровень общественной разработки, но...
Нужны более-менее люди разбирающиеся в проблемме, а если почитать ветку форума то только одни вопросы, предложений ноль.
Если кто-то реально сделает шаг, готов поделиться своими наработками :)
*

neexon

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #718 : 01.08.2012, 15:21:22 »
Ну почему же только одна.
У меня на J1.5.25 V1.1.9 выгружаются все картинки скриптом 2.0.8(более поздние пробовал ставить но что-то они с 1.1.9 не дружат)
Сам ничего не менял всё штатное.
А вот на Вирт 2.0.8 действительно доп. картинки выгружать не хочет.
не подскажите, на Joomla 2.5 станет virt 1.1.9?

*

Centoff

  • Захожу иногда
  • 244
  • 16 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #719 : 02.08.2012, 17:27:19 »
Я вернулся, но только на работе много проблем - разгребаюсь!
Вообщем идею такую давно уже пытаемся реализовать, но как написал феникс - нет толково понимающих помощников 1 - 2 человека - очень тяжело делать так! Изначально я поднимал проект по отслеживанию изменений и внесения ошибок! Сейчас он временно в ауте! Как разгребусь, вернусь к проекту!
Разработка приложения для выгрузки товаров из 1С в VirtueMart по протоколу CommerceML (fromrus.su:3001) а так же на этом форуме в разделе "Расширения Joomla -> VirtueMart"
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как импортировать файл XML в Joomla VirtueMart?

Автор Кот Смюлан

Ответов: 2
Просмотров: 5184
Последний ответ 14.07.2016, 18:40:24
от Berzerker
Обсуждение бесплатного компонента импорта-экспорта товаров VirtueMart "CSV Improved 1.9"

Автор danklassik

Ответов: 14
Просмотров: 17296
Последний ответ 18.02.2016, 10:21:33
от Storm
Перенос товаров с сайта на сайт (оба на joomla+virtuemart)

Автор fedorkit

Ответов: 8
Просмотров: 14310
Последний ответ 31.01.2016, 22:09:30
от Messir
VirtueMart 1.1.3 stable - выгрузка товаров в яндекс.маркет

Автор zufar

Ответов: 690
Просмотров: 172783
Последний ответ 05.02.2015, 16:39:22
от newjey
Описание полей таблиц в базе данных VirtueMart

Автор EmDmAl

Ответов: 39
Просмотров: 39803
Последний ответ 30.01.2015, 16:15:38
от nick71