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

payuta

  • Новичок
  • 5
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #720 : 03.08.2012, 18:59:03 »
Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.
Обмен не выполнен
Ответ сервера:
Warning: XMLReader::read(): An Error Occured while reading in /................./components/com_virtuemart/1cexport/import_xml.php on line 143
Warning: XMLReader::XML(): Empty string supplied as input in /................./components/com_virtuemart/1cexport/system/product.php on line 23
Warning: XMLReader::read(): Load Data before trying to read in /................./components/com_virtuemart/1cexport/system/product.php on line 50
Warning: XMLReader::read(): An Error Occured while reading in /................./components/com_virtuemart/1cexport/import_xml.php on line 188
success
Выгрузка товаров завершена с ошибками!

*

Thalt

  • Новичок
  • 9
  • 1 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #721 : 04.08.2012, 01:52:13 »
Я вернулся, но только на работе много проблем - разгребаюсь!
Вообщем идею такую давно уже пытаемся реализовать, но как написал феникс - нет толково понимающих помощников 1 - 2 человека - очень тяжело делать так! Изначально я поднимал проект по отслеживанию изменений и внесения ошибок! Сейчас он временно в ауте! Как разгребусь, вернусь к проекту!
Imho, стоит реанимировать проект. Маленькое пожелание в ToDo: добавить переменную CustomFieldType - указывать какого типа настраиваемые поля создавать при выгрузке характеристик.
*

skillful

  • Осваиваюсь на форуме
  • 43
  • 9 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #722 : 04.08.2012, 13:51:16 »
Здравствуйте! После ввода имя пользователя и пароля сразу появляется ошибка
Цитировать
Notice: Trying to get property of non-object in 20111221-093121\components\com_virtuemart\1cexport\checkauth.php on line 65
Notice: Undefined variable: somecontent in 20111221-093121\vmshop_1c.php on line 179
[content]

В чем может быть проблема? VirtueMart - 1.1.4, vmshop_1c v.2.1.0.beta
*

Deos_

  • Новичок
  • 5
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #723 : 06.08.2012, 19:21:28 »
Народ, Вы можете показать сайты Joomla VM на который Вы пользуетесь это обработкой?
Интересно посмотреть как это выглядит на работающих сайтах.
*

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #724 : 06.08.2012, 21:10:46 »
возьми любой сайт с виртуемартом и посмотри как они выглядят, обработка не делает дизайн она тока заносит каталог
*

Deos_

  • Новичок
  • 5
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #725 : 07.08.2012, 21:35:13 »
возьми любой сайт с виртуемартом и посмотри как они выглядят, обработка не делает дизайн она тока заносит каталог
Может неправильно сказал... интересно посмотреть ... кто реально использует эту выгрузку на своем сайте... вот мой сайт www.sb-s.com.ua ... но я не могу прикрутить выгрузку по нескольким причинам...
А мне интересно реально кто работает с этой выгрузкой, а не просто тестирует
*

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #726 : 08.08.2012, 08:58:24 »
я работаю с этой выгрузкой версия немного устарела и допилена под мои нужды. Установил и забыл...
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #727 : 19.08.2012, 11:47:22 »
У кого нибудь работает выгрузка на несколько сайтов?

З.Ы. Разобрался, вопрос снят.
« Последнее редактирование: 20.08.2012, 10:51:32 от Autocom »
*

Centoff

  • Захожу иногда
  • 244
  • 16 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #728 : 20.08.2012, 15:36:12 »
Небольшое исправление: (для тех у кого некорректно работала выгрузка наименований)
Идем в product.php и правим пару строчек:
Код
				case 'Наименование':
$data['name'] = (string)$product->readString();
//$product->next();
break;
на эти:
Код
				case 'Наименование':
if ((!isset($data['name']) or $data['name'] == "") and !in_array($data['name'], $lang_1c) )
{
$data['name'] = (string)$product->readString();
}
//$product->next();
break;

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

besick

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

Ed111111

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #730 : 20.08.2012, 20:55:52 »
Верил попробовать Ваш скрипт. Использую 1C УТ 8.2.15.319 VirtueMart 2.0.8. Скрипт обнулил таблицы, выгрузил картинки и все на этом. В логах пишет - Неудача: Таблица virtuemart_categories_ru_ru - Невозможно вставить запись для категории ... Что не так?)))
*

Centoff

  • Захожу иногда
  • 244
  • 16 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #731 : 21.08.2012, 10:03:55 »
Логи ошибок сервера и логи скрипта в студию!

При выгрузке товары создаются, В админке в поле товара "Переопределение правил цен" - "Налог" - ставит "НДС" и создает 3 вида НДС 0-20-18% в настройках - "Налоги и правила расчета", А мне нужно поле - "Налог" значение "По умолчанию",  для установки наценки на разные группы. Это можно как то решить?

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

besick

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #732 : 22.08.2012, 17:00:21 »
смотрел в скрипт долго и упорно, но слишком много мест где есть ссылки на $nds , пока перед выгрузкой групповой обработкой убираю НДС из товаров в 1с
*

Ed111111

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #733 : 25.08.2012, 17:57:31 »
Верил попробовать Ваш скрипт. Использую 1C УТ 8.2.15.319 VirtueMart 2.0.8. Скрипт обнулил таблицы, выгрузил картинки и все на этом. В логах пишет - Неудача: Таблица virtuemart_categories_ru_ru - Невозможно вставить запись для категории ... Что не так?)))

Оказалось все просто - эта таблица просто отсутствовала. Ее создаешь и почти все нормальных выгружается.

Не выгружаются характеристики. Описание есть, а настраиваемые поля отсутствуют. Что имеется в виду под характеристиками?
*

Vitek

  • Захожу иногда
  • 185
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #734 : 31.08.2012, 15:39:24 »
Подскажите кто использует данный скрипт:
1. В базе 1 С нет изображений товара, соответственно при первой синхронизации товар весь добавиться на сайт без картинок, я хочу загрузить картинки товара только на сайт, и буду загружать, при второй синхронизации картинки товара сохраняться или удаляться так как их нет в базе 1с?
2. Так же с описанием товара, как его вписать в 1с, в какое поле, чтоб оно выгрузилось в полное описание товара? И соответственно если я буду делать описание товара только на сайте при синхронизации будет ли оно сохранятся?

Вроде бы понял как это реализуется с этим скриптом, надеюсь что правильно понял, если нет поправьте меня плз:
Если необходимо сохранить картинки и описание, да и все остальные свойства товара которые мы добавили только на сайт, то надо сначала сделать полную выгрузку, так мы добавим весь товар с 1с на сайт, после этого делать ТОЛЬКО выгрузку изменений, в этом случае картинки и описание товаров будут сохраняться.
 Правильно ?:))
« Последнее редактирование: 01.09.2012, 12:43:46 от Vitek »
*

Vitek

  • Захожу иногда
  • 185
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #735 : 01.09.2012, 12:51:05 »
Как сделать чтоб скрипт не устанавливал Максимальное количество приобретаемого товара ? А ТО ПОКУПАТЕЛЬ НЕ СМОЖЕТ КУПИТЬ БОЛЬШЕ ЧЕМ 10 штук - так устанавливает скрипит!?

РЕШЕНО: НЕ понимаю почему данная настройка не вынесена в основные, так как мало кого удовлетворит максимальное количество покупаемого товара 10 штук (маловато будет :-)) меняеться это тут components/com_virtuemart/1cexport/system/product.php
строка 1076  $ins->product_order_levels = "1,10";

ВОТ САМАЯ ВАЖНАЯ ОШИБКА ПОКА ЕЩЁ НЕ РЕШЕНА:
Кроме этого при заказе на сайте, и синхронизации 1с и VirtueMart, в 1с создается документ Заказ покупателя, в него добавляться услуга доставки, без указания стоимости, я так понимаю что данные услуги должны быть созданы в номенклатуре, что бы для услуги указывалась цена,

НО самое непонятно то что ЗАКАЗАННЫЙ ТОВАР ДУБЛИРУЕТСЯ И СОЗДАЕТСЯ НОВЫЙ В НОМЕНКЛАТУРЕ С ТАКИМ ЖЕ НАЗВАНИЕМ! Почему не выбирается уже созданный товар в номенклатуре?

ПЛЗ Помогите, последние проблемы остались...
« Последнее редактирование: 01.09.2012, 18:06:17 от Vitek »
*

Vitek

  • Захожу иногда
  • 185
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #736 : 01.09.2012, 16:48:16 »
И ещё вопрос, магазин на показывает товары, которых нет на складе, при выгрузке товаров в магазин с 1с, товар с количество на складе 0 всё равно отображается на сайте, и ему присваивается картинка в наличии, как это исправить?

РЕШЕНО - Зашел на сайт как админ и все товары были видны
« Последнее редактирование: 01.09.2012, 17:46:04 от Vitek »
*

Vitek

  • Захожу иногда
  • 185
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #737 : 02.09.2012, 18:58:07 »
Ещё один вопрос, в инструкции по установке скрипта указано "5) Убираем галочку с Обмен заказами"  если убрать эту галочку то заказы с VirtueMart будут выгружать в 1с? Я тестировал заказов нет, если поставить галочку то заказ выгружается, но при этом товар из заказа дублируется в номенклатуре, подскажите как правильно настроить обмен
*

Vitek

  • Захожу иногда
  • 185
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #738 : 03.09.2012, 09:12:07 »
Тут вообще хоть кто нибудь бывает? Столько страниц переписки, причем довольно свежей и НОЛЬ реакции на мои посты, хелп люди, очнитесь форумчане, не поленитесь подсказать правильный путь, а то уже три дня бьюсь и толку по обратной выгрузке заказов НОЛЬ!

Объясни нормально по настройке этого скрипта, не могу я добавиться НОРМАЛЬНОЙ выгрузке заказов в 1С!
За что отвечает параметр Обнулять таблицы перед выгрузкой?
И в новой версии скрипта 210 в описание краткое и полное вставилось название товара, как это убрать или изменить чтоб вставлять полное описание из нужного поля в 1с?
*

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #739 : 03.09.2012, 09:27:55 »
заказы не работают, по поводу описания было решение
*

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #740 : 03.09.2012, 09:31:17 »
автор перестал поддерживать скрипт, да и реализация его уперлась в потолок
Ps. Рассматривайте битрикс как альтернативу
*

Vitek

  • Захожу иногда
  • 185
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #741 : 03.09.2012, 11:12:07 »
заказы не работают, по поводу описания было решение

Плз подскажи где? Я всю ветку перечитал, не увидел
*

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #742 : 03.09.2012, 11:13:43 »
мои сообщения найди, я когда то писал
*

Vitek

  • Захожу иногда
  • 185
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #743 : 03.09.2012, 11:22:33 »
мои сообщения найди, я когда то писал
Вот про это речь:
Цитата: fenixnow от 15.03.2012, 21:56:57
заходи в \administrator\components\com_virtuemart\helpers\
там файлик image.php в строке № 72
оставляй только

return $this->displayIt($file_url, $file_alt, $imageArgs,$lightbox,'');

это уберет подпись под картинкой, останется одно описание

Спасибо! Всё получилось.

? просто я вообще тут не понял что к чем и как это мне поможет
Просто в последней версии скрипта почему то добавилось в описание название товара. вот мне и интересно в каком файле это прописали и можноли указать другое поле в1с для полного описания.
*

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #744 : 03.09.2012, 11:28:03 »
Вот про это речь:
Цитата: fenixnow от 15.03.2012, 21:56:57
заходи в \administrator\components\com_virtuemart\helpers\
там файлик image.php в строке № 72
оставляй только

return $this->displayIt($file_url, $file_alt, $imageArgs,$lightbox,'');

это уберет подпись под картинкой, останется одно описание

Спасибо! Всё получилось.

? просто я вообще тут не понял что к чем и как это мне поможет
Просто в последней версии скрипта почему то добавилось в описание название товара. вот мне и интересно в каком файле это прописали и можноли указать другое поле в1с для полного описания.
зря - это хак
тебе сюда - http://joomlaforum.ru/index.php/topic,175325.msg1113017.html#msg1113017
*

Vitek

  • Захожу иногда
  • 185
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #745 : 04.09.2012, 19:43:38 »
В общем всё таки заставил всю эту систему работать кое с какими доработками:
Выгрузка наименования товара, количество товара на складе, изображение выгружается в VirtueMart при помощи этого скрипта.
Выгрузка заказов, как я не старался, при помощи этого скрипта не заработала должным образом.
Дополнил вирт возможностью печати штрихкода на товар и соответственно менеджер при распечатки заказа сам сканирует заказ и создает его в 1С - так называемая обратная синхронизация, дешево и сердито, кто б помог это наладить...

Вроде все не так печально, но есть одна загвоздка - поскольку этот скрипт не умеет выгружать описание товара, либо я так и не понял как это делать, я добавляю описание товара напрямую в вирт, скрипт настроен на выгрузку изменений, отключено перезапись таблиц в базе данных, при продаже товара обновляется количество на складе и при синхронизации всё равно описание, да и наверное другие данные которые в последующем будут добавлены - производитель, свойства. и тд тп, удаляются, остается только название, картинка и количество - то что собственно и бралось с 1с.

Так вот, КАК подскажите мне, КАК сделать чтоб этот скрипт трогал в врите только те поля для которых у него есть информация и не заменял полностью всё!
Неужели АФФТОР не может это делать?
*

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #746 : 04.09.2012, 21:07:40 »
Неужели АФФТОР не может это делать?
я бы тоже забесплатно не стал работать :))))))))))
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #747 : 04.09.2012, 22:04:20 »
...но есть одна загвоздка - поскольку этот скрипт не умеет выгружать описание товара, либо я так и не понял как это делать,...
Скрипт прекрасно выгружает описание. Берется оно из вкладки "Описание" товара в 1С.
Причем в это описание в 1С можно вставлять HTML-тэги, тогда на сайте будет всё довольно красиво.
*

Darkman

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #748 : 05.09.2012, 02:22:09 »
У меня вес товаров и производители не выгружаются в последней версии скрипта, у каго нибудь это работает?
*

Vitek

  • Захожу иногда
  • 185
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #749 : 05.09.2012, 03:50:43 »
Скрипт прекрасно выгружает описание. Берется оно из вкладки "Описание" товара в 1С.
Причем в это описание в 1С можно вставлять HTML-тэги, тогда на сайте будет всё довольно красиво.
Сегодня протестирую, просто данный скрипт на самом деле очень замечательная штука для небольшого магазина, в котором нет заморочек с весом, свойствами и типами товаров, он прекрасно обновляет все данные и он бесплатен, хотя если бы его можно было бы бесплатно протестить и потом купить, я бы его купил, одно но было - описание, так что надеюсь вы правы!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как импортировать файл 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
Просмотров: 172776
Последний ответ 05.02.2015, 16:39:22
от newjey
Описание полей таблиц в базе данных VirtueMart

Автор EmDmAl

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