Новости 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 Ответов
  • 214117 Просмотров
*

yop3bik

  • Новичок
  • 9
  • 0 / 1
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #390 : 27.02.2012, 01:21:42 »
Сможете доделать до версии VirtueMart 2.0.2? А то 2.0 пока очень сыровата.
В 2.0.2 не выгружает
В 2.0 выгружает без проблем!
*

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #391 : 27.02.2012, 13:11:10 »
а ты поправь строчку в vmshop_1c.php

if ($version == "2.0.0" and $version_status == "Final") на строчку
if ($version == "2.0.2" and $version_status == "Final") и будет тебе счастье
*

yop3bik

  • Новичок
  • 9
  • 0 / 1
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #392 : 27.02.2012, 21:07:24 »
Проверю, отпишусь, спасибо за совет!
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #393 : 29.02.2012, 18:29:19 »
При пометке товара на удаление в 1С и выгрузке на сайт, 1С пишет:
Цитировать
Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.
Обмен не выполнен
Ответ сервера:
<b>Notice</b>:  Undefined index:  product_ln_db in <b>/home/ххххххх/public_html/ххххххххх/components/com_virtuemart/1cexport/system/product.php</b> on line <b>488</b><br />
success

Выгрузка товаров завершена с ошибками!
Хотя товары с сайта удаляет. Версия VirtueMart 1.1.9. На версии 2.0 вроде нет такой ошибки.
С чем связана данная ошибка и на что может влиять?
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #394 : 04.03.2012, 14:11:44 »
и будет тебе счастье
счастья не наступило. На версии 2.0.2 не работает.
*

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #395 : 04.03.2012, 14:34:23 »
Значит счастье не приходит ко всем, у меня по крайней мере работает :)
*

Flomik

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #396 : 07.03.2012, 01:28:33 »
Всю бошку сломал. Обработка пишет:

Код
Не удалось разобрать данные, загруженные с сервера.
Обмен не выполнен
Не выгружен ни один заказ.
Обмен заказами завершен с ошибками!

Видимо из-за того, что кодировка некорректна.



Кто сталкивался с подобной ситуацией, как исправлять?
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #397 : 10.03.2012, 09:24:47 »
а ты поправь строчку в vmshop_1c.php

if ($version == "2.0.0" and $version_status == "Final") на строчку
if ($version == "2.0.2" and $version_status == "Final") и будет тебе счастье
Значит счастье не приходит ко всем, у меня по крайней мере работает :)
Больше точно ничего не меняли? Я уже всё перепробовал. На версии 2.0.0 работает, на 2.0.2 никак
Ставил чистый магазин, обновленный, ну никак.
*

BetterStop

  • Новичок
  • 6
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #398 : 10.03.2012, 12:15:29 »
Доброго времени суток!
1С:Предприятие 8.2 (8.2.14.540)
VirtueMart 1.1.9
Валюта цены KZT

Выгрузка проходит без ошибок, товар выгружается по категориям.

Только цена и количество равно "0"
В чем может быть причина?
« Последнее редактирование: 12.03.2012, 00:11:06 от BetterStop »
*

Centoff

  • Захожу иногда
  • 244
  • 16 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #399 : 11.03.2012, 09:18:35 »
Скрипт не заканчивает свое действие, выкладывайте пожалуйста логи!

Я прошу прощения за долгое отсутствие! Находился долгое время на лечении, скоро возобновлю работу!
Разработка приложения для выгрузки товаров из 1С в VirtueMart по протоколу CommerceML (fromrus.su:3001) а так же на этом форуме в разделе "Расширения Joomla -> VirtueMart"
*

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #400 : 11.03.2012, 09:47:46 »
Тебя случаем не Дима зовут? :)
*

Centoff

  • Захожу иногда
  • 244
  • 16 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #401 : 11.03.2012, 09:57:05 »
Нет )
Разработка приложения для выгрузки товаров из 1С в VirtueMart по протоколу CommerceML (fromrus.su:3001) а так же на этом форуме в разделе "Расширения Joomla -> VirtueMart"
*

airo5000

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #402 : 11.03.2012, 16:43:40 »
Привет всем!
такая проблема!
Пытаюсь выгрузиться из 1с в VirtueMart 1.1.9 и он мне пишет "Выгрузка прошла успешно.Изменений не зарегестрировано"
Помогите в чем проблема?
Галочки на выгрузке полностью стоят!
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #403 : 11.03.2012, 18:14:23 »
Если изменений нет, то обычно пишет:
Цитировать
Изменения товаров не зарегистрированы. Выгрузка товаров не произведена.

*

BetterStop

  • Новичок
  • 6
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #404 : 11.03.2012, 22:32:46 »
Доброго времени суток!
1С:Предприятие 8.2 (8.2.14.540)
VirtueMart 1.1.9
Валюта цены KZT

Выгрузка проходит без ошибок, товар выгружается по категориям.

Только цена и количество равно "0"
В чем может быть причина?

Скрипт не заканчивает свое действие, выкладывайте пожалуйста логи!

Я прошу прощения за долгое отсутствие! Находился долгое время на лечении, скоро возобновлю работу!

Вот логи

Спойлер
[свернуть]

если выгружать в файл то получается так

Спойлер
[свернуть]
« Последнее редактирование: 12.03.2012, 10:36:48 от BetterStop »
*

alex751

  • Новичок
  • 5
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #405 : 11.03.2012, 22:56:01 »
Добрый день всем.
Титанический труд пипл. ВСЕМ РЕСПЕКТ И УВАЖУХА. Вопрос. Напишите параметры (версия) для

Конфигурации 1С
Версию Joomla
Версию Виртуалмарта

на которой будет работать крайняя версия

Сейчас есть 1С 8.2 Кофигурация УТ 2.4 для украины ВМ 1.1.9 Joomla локальтно на денвере

проблема пишет вот что

Изменения товаров не зарегистрированы. Выгрузка товаров не произведена.
Произошла ошибка: . По причине:

Не удалось разобрать данные, загруженные с сервера.
Обмен не выполнен
Выгружено заказов: 2
Произошла ошибка на стороне сервера. Не получен статус завершения операции. Файл не отправлен (C:\Documents and Settings\Алексей\Local Settings\Temp\v8_152D_2c.zip).
Обмен не выполнен
Ответ сервера:
<b>Fatal error</b>:  Call to undefined function  zip_open() in <b>Z:\home\test1.ru\www\components\com_virtuemart\1cexport\file.php</b> on line <b>69</b><br />
<script language=JavaScript src='/denwer/errors/phperror_js.php'></script>

Обмен заказами завершен с ошибками!

! Товары не выгружаются разные в ВМ и 1С

ХЕЕЕЕЛЛЛЛППП

Спасибо всем
*

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #406 : 11.03.2012, 23:08:15 »
Ай красавчик!
А включить php_zip??
*

alex751

  • Новичок
  • 5
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #407 : 11.03.2012, 23:33:19 »
А кто скажет почему товары не выгружаются??

Пишет скрипт что в базе измененгий нет а вообще делаб проводку как бы долны быть да еще педаль стоит полная выгрузка
*

alex751

  • Новичок
  • 5
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #408 : 11.03.2012, 23:43:30 »
Php_zip включил. Та же ерунда. (Включать в php.ini?)
*

zznob

  • Новичок
  • 4
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #409 : 12.03.2012, 09:55:15 »
Доброго времени суток.
Подскажите пожалуйста в какую сторону копать.
Настроил обмен по инструкции, но при проверке подключения выдается ошибка о том что скрипту не передан логин и пароль (это в логах компонента на сервере). Проверил исходящие пакеты на машине с которой провожу проверку подключения, в пакетах логин и пароль передается.

Всю голову уже сломал....
« Последнее редактирование: 12.03.2012, 10:52:28 от zznob »
*

serg02

  • Новичок
  • 3
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #410 : 12.03.2012, 11:05:44 »
Доброго времени суток.
Скажите, у кого как выгружается вес товара в VirtueMart.
У меня лично вообще по 0 все, скрипт версии 2.0.8
Посмотрел в сторону файла product.php, в нем поправил след строчки

Код
case 'ЗначениеРеквизита':
$xml = simplexml_load_string($product->readOuterXML());
foreach($xml as $property )
{
if(isset($PROPERTIES[(string)$property->Наименование]))
{
switch($PROPERTIES[(string)$property->Наименование])
{
case 'Вес':
$data['ves'] = (string)$property->Значение;
break;
}
}
}

на

Код
$xml = simplexml_load_string($product->readOuterXML());
switch($xml->Наименование)
{
case 'Вес':
$data['ves'] = (string)$xml->Значение;
break;
}

все заработало, вес выгружается, в связи с чем у меня 2 вопроса:

1. Что за переменная (массив) $PROPERTIES? Видел, что он объявляется, но непосредственного $PROPERTIES['Что-нибудь здесь'] нигде не наблюдаю, следовательно isset всегда false? а если нет, зачем он вообще нужен
2. Почему используется foreach? У меня при таком раскладе $property->Наименование вообще ничего не выдает (пусто)

Вопрос актуален, тк схожий участок кода находится в выгрузке Значений Свойств
*

BetterStop

  • Новичок
  • 6
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #411 : 12.03.2012, 11:35:16 »

1С:Предприятие 8.2 (8.2.14.540)
VirtueMart 1.1.9
Валюта цены KZT

Выгрузка проходит без ошибок, товар выгружается по категориям.

Только цена и количество равно "0"
В чем может быть причина?

Вот логи

Спойлер
[свернуть]

если выгружать в файл то получается так

Спойлер
[свернуть]


Блин ну почему не выгружает цены и количество?
*

serg02

  • Новичок
  • 3
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #412 : 12.03.2012, 11:40:28 »
еще один ньюанс выявился, в том же product.php

Код
$ins->product_weight_uom = 'кг.';

заменить надо на

Код
$ins->product_weight_uom = 'KG';

в противном случае не работает функция пересчета веса товара getOrderWeight($cart, $method->weight_unit); (используется в расчете стоимости доставки, например, в стандартном плагине countriesbyweight)
*

zznob

  • Новичок
  • 4
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #413 : 12.03.2012, 17:14:11 »
Помогите пожалуйста с этим http://joomlaforum.ru/index.php/topic,175325.msg1085499.html#msg1085499
Очень сильно нужно!
*

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #414 : 12.03.2012, 18:17:45 »
а у тебя Zend сервер?
*

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #415 : 12.03.2012, 18:22:27 »

Блин ну почему не выгружает цены и количество?
уточни из какой версии УТ ты выгружаешь. Если УТ 11 то читай мануал, если 10.3 то должен быть второй файлик офферс что в нем?
*

zznob

  • Новичок
  • 4
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #416 : 12.03.2012, 20:36:08 »
а у тебя Zend сервер?
Вопрос ко мне?
Нет у меня не php 5.4.
*

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #417 : 12.03.2012, 20:58:02 »
а
Вопрос ко мне?
Нет у меня не php 5.4.
а что?
*

zznob

  • Новичок
  • 4
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #418 : 12.03.2012, 21:15:53 »
аа что?
PHP Version 5.2.6-1+lenny16
*

BetterStop

  • Новичок
  • 6
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #419 : 12.03.2012, 21:52:32 »
уточни из какой версии УТ ты выгружаешь. Если УТ 11 то читай мануал, если 10.3 то должен быть второй файлик офферс что в нем?

Платформа: 1С:Предприятие 8.2 (8.2.14.540)
Конфигурация: Управление торговлей для Казахстана, редакция 3.0, локализация для Казахстана: "1С-Рейтинг" (3.0.1.35)

Содержимое файла offers.xml
Спойлер
[свернуть]
« Последнее редактирование: 13.03.2012, 09:31:22 от BetterStop »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

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

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

Автор danklassik

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

Автор fedorkit

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

Автор zufar

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

Автор EmDmAl

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