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

kot488

  • Захожу иногда
  • 53
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1050 : 07.10.2013, 21:18:07 »
Разобрался, все выгружается))) ребят а можно свойства выгружать с 1С?
*

Alex2

  • Захожу иногда
  • 113
  • 6 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1051 : 10.10.2013, 18:31:41 »
Добрый день!

Прошу помощи.

Joomla Версия 1.5.26
VirtueMart 1.1.9 stable
"Управление торговлей", редакция 10.3 (10.3.23.3)
версия скрипта: 2.0.9

выдает следующие ошибка

Выгружено товаров: 312
Выгружено картинок: 17
Выгружено предложений: 309
Произошла ошибка на стороне сервера. Не получен статус завершения операции. Файл не отправлен (C:\Users\Ольга\AppData\Local\Temp\v8_7C07_b2.zip).
Обмен не выполнен
Ответ сервера:
<b>Warning</b>:  scandir(.../public_html/images/stories/virtuemart/product/) [<a href='function.scandir'>function.scandir</a>]: failed to open dir: No such file or directory in <b>.../public_html/components/com_virtuemart/1cexport/file.php</b> on line <b>64</b><br />
<br />
<b>Warning</b>:  scandir() [<a href='function.scandir'>function.scandir</a>]: (errno 2): No such file or directory in <b>.../public_html/components/com_virtuemart/1cexport/file.php</b> on line <b>64</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>.../public_html/components/com_virtuemart/1cexport/file.php</b> on line <b>65</b><br />
<br />
<b>Warning</b>:  fopen(.../public_html/images/stories/virtuemart/product/v8_7C07_b2.zip) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory in <b>.../public_html/components/com_virtuemart/1cexport/file.php</b> on line <b>88</b><br />
failure
Can not open file: .../public_html/images/stories/virtuemart/product/v8_7C07_b2.zip
.../public_html/images/stories/virtuemart/product/

Выгрузка товаров завершена с ошибками!

« Последнее редактирование: 14.10.2013, 15:20:28 от Alex2 »
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1052 : 10.10.2013, 23:29:49 »
Эта папка /images/stories/virtuemart/product/ на сервере есть?
zip файл в неё выгружается?
Возможно на сервере нет архиватора?
*

Alex2

  • Захожу иногда
  • 113
  • 6 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1053 : 11.10.2013, 07:46:45 »
Раньше все работало, со старой версией скрипта 1,3.
Сейчас решил обновиться на 2,0,9.
Архив на сервер не выгружается.
Скрипт указывает путь .../public_html/images/stories/virtuemart/product/

но в версии VM1.1.9 путь должен быть таким .../public_html/components/com_virtuemart/shop_image/product/
Как исправить путь выгрузки?
« Последнее редактирование: 14.10.2013, 15:18:53 от Alex2 »
*

fov

  • Захожу иногда
  • 84
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1054 : 14.10.2013, 19:36:16 »
Раньше все работало, со старой версией скрипта 1,3.
Сейчас решил обновиться на 2,0,9.
Архив на сервер не выгружается.
Скрипт указывает путь .../public_html/images/stories/virtuemart/product/

но в версии VM1.1.9 путь должен быть таким .../public_html/components/com_virtuemart/shop_image/product/
Как исправить путь выгрузки?
не могу открыть файл zip включен на серваке ?
И проверь версию VirtueMart в файле checkver.php
строка if ((($sh_version >= "200" and $sh_version <= "299") and $version != "2.0.0-RC-2M" and $version_status == "Final") or $sh_version == "2022b")
у тебя путь вот такой судя по логам /images/stories/virtuemart/product/v8_7C07_a6.zip
« Последнее редактирование: 14.10.2013, 19:45:11 от fov »
*

Alex2

  • Захожу иногда
  • 113
  • 6 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1055 : 14.10.2013, 21:43:04 »
На сервере все включено. Выгрузка работала с версией скрипта 1.3.
После обновления скрипта до версии 2.0.9, появилась ошибка с выгрузкой.

В инструкции по установке и настройке скрипта написано :
Если нужно, отредактируйте параметры define главного файла vmshop_1c.php под свои пожелания (не забудте изменить параметр define
( 'VM_VERVM', '1' )) на свою версию магазина 1 или 2.
У меня VM 1.1.9, поставил 1.

В VM 1.1.9 путь выгрузки должен быть таким components/com_virtuemart/shop_image/product/.
Но скрипт 2,0,9 пытается выгрузить сюда /images/stories/virtuemart/product/, а этот путь для VM 2.
*

Alex2

  • Захожу иногда
  • 113
  • 6 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1056 : 15.10.2013, 08:57:39 »
Сегодня поменял в vmshop_1c.php параметр ( 'VM_VERVM', '1' )) на 2.
Выгрузка пошла, но появилась новая ошибка

Выгружено товаров: 397
Выгружено картинок: 21
Выгружено предложений: 395
Получен расширенный статус успешного завершения сеанса
Ответ сервера:
v8_1A82_68.zip

Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.
Обмен не выполнен
Ответ сервера:
<b>Notice</b>:  Undefined index:  product_ln_db in <b>.../components/com_virtuemart/1cexport/system/product.php</b> on line <b>588</b><br />
success

Выгрузка товаров завершена с ошибками!
*

davudo

  • Новичок
  • 6
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1057 : 20.10.2013, 23:57:49 »
Привет всем, кто может помочь. У меня УТП 8.2 и вирт 2.2.22b . Не загружаются цены из 1с. Цену по умолчанию установил.
При загрузке выдает:

Выгружено товаров: 1
Выгружено картинок: 0
Выгружено файлов: 0
Выгружено предложений: 1
Получен расширенный статус успешного завершения сеанса
Ответ сервера:
v8_CB67_aaa.zip

Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.
Обмен не выполнен
Ответ сервера:

Выгрузка товаров завершена с ошибками!

Лог заканчивается:
4.2.3) Неудача: Невозможно вставить запись в таблицу - virtuemart_product_prices
*

Amatoravg

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1058 : 29.10.2013, 13:07:02 »
Кому нибудь удалось выгрузить Производителя или доп. свойства из УТ 10.3?
« Последнее редактирование: 29.10.2013, 18:48:50 от Amatoravg »
*

kot488

  • Захожу иногда
  • 53
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1059 : 30.10.2013, 12:47:10 »
Кому нибудь удалось выгрузить Производителя или доп. свойства из УТ 10.3?

У меня лично нет, вроде говорят что у всех вышружается но все молчат как они это делают
*

Amatoravg

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1060 : 30.10.2013, 13:09:15 »
Не нашел, чтобы все об этом говорили :)) Эх, пойду дальше исходники колупать...
*

Alex2

  • Захожу иногда
  • 113
  • 6 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1061 : 30.10.2013, 18:31:38 »
Joomla 2.5.14
vm 2.0.24
скрипт 2,0,9
localhost

Не отображаются картинки товаров
Как я понял, в пути к картинкам слэш указан в другую сторону
путь должен быть таким images/stories/virtuemart/product
а записывает images\stories\virtuemart\product

В vmshop_1c.php заменил define ( 'DS', DIRECTORY_SEPARATOR );
на define ( 'DS', '/' );
Главная картинка теперь отображается нормально, но дополнительные картинки получают такую ссылку
Z:\home\localhost\www/images/stories/virtuemart/product/

Подскажите как исправить?
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1062 : 30.10.2013, 21:59:13 »
Тоже интересует этот вопрос.
Пока обхожусь внесением изменений в базу.
При полной выгрузке делаю экспорт таблицы с медиа, исправляю потом импортирую.
Занимает пару минут, но хотелось бы чтоб автоматом работало.
*

Alex2

  • Захожу иногда
  • 113
  • 6 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1063 : 31.10.2013, 11:24:33 »
Тоже интересует этот вопрос.
Пока обхожусь внесением изменений в базу.
При полной выгрузке делаю экспорт таблицы с медиа, исправляю потом импортирую.
Занимает пару минут, но хотелось бы чтоб автоматом работало.


Нашел где исправить.
В файле product.php нужно изменить JPATH_BASE_PICTURE на JPATH_PICTURE
это строки 1423, 1427 и 1429
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1064 : 31.10.2013, 11:43:29 »
Спасибо.
У меня это строки 1751, 1755 и 1757. У меня версия скрипта 2.1.0
*

Amatoravg

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1065 : 31.10.2013, 16:10:29 »
Исправил ошибку в скрипте. Производителя выгрузить получилось.
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1066 : 31.10.2013, 16:20:09 »
Исправления в студию!
*

Amatoravg

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1067 : 31.10.2013, 17:20:04 »
Много чаго пришлось править. Наверное сделаю сборку и выложу архивчег. Надеюсь авторские права не нарушу?
Хочу еще протестить, как работает выгрузка, когда кроме производителя есть другие доп. свойства. Ибо заметил, что в этом случае скрипт неверно отрабатывает. Тоже надо допилить этот баг. Так что - терпение  ::)
« Последнее редактирование: 31.10.2013, 17:23:16 от Amatoravg »
*

Alex2

  • Захожу иногда
  • 113
  • 6 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1068 : 01.11.2013, 12:40:33 »
Привет всем, кто может помочь. У меня УТП 8.2 и вирт 2.2.22b . Не загружаются цены из 1с. Цену по умолчанию установил.
При загрузке выдает:

Выгружено товаров: 1
Выгружено картинок: 0
Выгружено файлов: 0
Выгружено предложений: 1
Получен расширенный статус успешного завершения сеанса
Ответ сервера:
v8_CB67_aaa.zip

Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.
Обмен не выполнен
Ответ сервера:

Выгрузка товаров завершена с ошибками!

Лог заканчивается:
4.2.3) Неудача: Невозможно вставить запись в таблицу - virtuemart_product_prices

Тебе скорее всего поможет вот это:

В файле offers.php поменять
            $ins->product_price_vdate = "0";   
            $ins->product_price_edate = "0";
на
            $ins->product_price_publish_up = "0";   
            $ins->product_price_publish_down = "0";
мне помогло.
*

kot488

  • Захожу иногда
  • 53
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1069 : 04.11.2013, 14:47:52 »
Люди добрый, подскажите у кого то все таки удалось выгрузить свойства?
*

kot488

  • Захожу иногда
  • 53
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1070 : 04.11.2013, 15:40:06 »
Люди добрые, сообщения про свойства специально игноряться?)))) ну дайте ответ у кото то выгрузились?
*

Amatoravg

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1071 : 05.11.2013, 10:44:16 »
У меня выгрузились. Для этого пришлось прилично переписать исходные скрипты, и пожертвовать характеристиками (хотя может быть можно было бы и без жертв обойтись, но не стал заморачиваться, ибо мне они особо не нужны). Ждите, скоро выложу, что получилось.
*

kot488

  • Захожу иногда
  • 53
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1072 : 05.11.2013, 11:43:02 »
У меня выгрузились. Для этого пришлось прилично переписать исходные скрипты, и пожертвовать характеристиками (хотя может быть можно было бы и без жертв обойтись, но не стал заморачиваться, ибо мне они особо не нужны). Ждите, скоро выложу, что получилось.

Спасибо, ждем.  Подскажите еще один вопрос, этот скрипт может выгружить несколько фото к товару?
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1073 : 05.11.2013, 11:44:29 »
Да, несколько фото выгружаются во всех версиях скрипта.
*

kot488

  • Захожу иногда
  • 53
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1074 : 05.11.2013, 12:13:40 »
у меня первая фотка которая отображается имеет ссылку http://*******/images/stories/virtuemart/product/resized/06064db0-2f07-4a7c-bfaf-dd314141862b_e3f3b5d3-e85f-11e1-b0eb-005056c00008_90x90.jpeg

а те которые не отображаются
http://*****//home/sites/test.zo2.net.ua/www/images/stories/virtuemart/product/06064db0-2f07-4a7c-bfaf-dd314141862b_7666d4d6-e85e-11e1-b0eb-005056c00008.jpeg

негде не могу найти что бы отключить /home/sites/*****/www
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1075 : 05.11.2013, 12:16:07 »
Извините, но внимательнее читайте эту тему! Многое уже решено.
12-ю постами ранее, на этой странице написано решение.
*

kot488

  • Захожу иногда
  • 53
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1076 : 05.11.2013, 12:56:53 »
Извините, но внимательнее читайте эту тему! Многое уже решено.
12-ю постами ранее, на этой странице написано решение.

вы вот это имели ввиду?

В файле product.php нужно изменить JPATH_BASE_PICTURE на JPATH_PICTURE
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1077 : 05.11.2013, 12:57:24 »
Да.
*

kot488

  • Захожу иногда
  • 53
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1078 : 05.11.2013, 13:07:21 »
Да.

Спасибо помогло)))

а удаление например настраиваемых полей при последующей выгрузке удаляются изза значения обнуление базы перед выгрузкой: yes, ?
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1079 : 05.11.2013, 13:16:12 »
Если помог, принято ставить плюс!
а удаление например настраиваемых полей при последующей выгрузке удаляются изза значения обнуление базы перед выгрузкой: yes, ?
Видимо да, я пользуюсь полной выгрузкой.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

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

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

Автор danklassik

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

Автор fedorkit

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

Автор zufar

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

Автор EmDmAl

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