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

kimkarus

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #810 : 13.10.2012, 13:29:30 »
Сделал скрипт программу под себя: забирает файлы с компа/удалённого компа и загружает на сервак по фтп (расписание загрузок настраивается с помощью планировщика задач), запускает и проверяет процесс импорта товаров и предложений.
Также допилил скрипт автора до импорта:
-курса валюты регламентного учета 1с
-веса
-упаковки
-файлы

кому интересно, пишите в личку.

ПС: пишу статью. С разрешения админов выложу ссылку по окончанию.
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #811 : 13.10.2012, 13:30:49 »
Вроде раньше не было такого, сейчас при выгрузке изменений создает запись в таблице _virtuemart_product_shoppergroups для каждого измененного товара с указанием группы покупателей.
После этого этот товар не отображается на сайте. После очистки этой таблицы, всё нормально.
Кто сталкивался, как исправить?
*

kimkarus

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #812 : 13.10.2012, 13:32:52 »
Вроде раньше не было такого, сейчас при выгрузке изменений создает запись в таблице _virtuemart_product_shoppergroups для каждого измененного товара с указанием группы покупателей.
После этого этот товар не отображается на сайте. После очистки этой таблицы, всё нормально.
Кто сталкивался, как исправить?
открой cashgroup.php строка 114: $def = 2;
загрузи всё по новому
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #813 : 13.10.2012, 13:36:43 »
Сделал скрипт программу под себя: забирает файлы с компа/удалённого компа и загружает на сервак по фтп (расписание загрузок настраивается с помощью планировщика задач), запускает и проверяет процесс импорта товаров и предложений.
Также допилил скрипт автора до импорта:
-курса валюты регламентного учета 1с
-веса
-упаковки
-файлы

кому интересно, пишите в личку.

Так выкладывайте, посмотрим. Скажем спасибо.

открой cashgroup.php строка 114: $def = 2;
загрузи всё по новому

Это у вас она 114, в оригинале у автора она 94.
Но мою проблему это не решит, т.к. данное изменение внесено давно.
« Последнее редактирование: 13.10.2012, 14:12:33 от Autocom »
*

itn22

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #814 : 13.10.2012, 20:54:25 »
Здравствуйте!
Подскажите почему не происходит выгрузка пишет

Изменения товаров не зарегистрированы. Выгрузка товаров не произведена.

Фильтры в 1с не трогал

версия вирта 2.0.6
версия 1с 8.2 редакция  10.3 (10.3.14.3)

Подскажите пожалуйста что делать
*

kimkarus

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #815 : 14.10.2012, 18:28:57 »
Сделал скрипт программу под себя: забирает файлы с компа/удалённого компа и загружает на сервак по фтп (расписание загрузок настраивается с помощью планировщика задач), запускает и проверяет процесс импорта товаров и предложений.
Также допилил скрипт автора до импорта:
-курса валюты регламентного учета 1с
-веса
-упаковки
-файлы

кому интересно, пишите в личку.

ПС: пишу статью. С разрешения админов выложу ссылку по окончанию.
Как и было сказано, сделано. Разумная критика и здравые предложения приветствуются. Статью написал здесь - http://kimkarus.ru/docsharp/209-2012-10-14
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #816 : 14.10.2012, 18:50:50 »
По ссылке:  Комплект файлов для автоматизации транспорта данных (141.71 Кбайт). такого комплекта нет
*

kimkarus

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #817 : 15.10.2012, 00:15:04 »
По ссылке:  Комплект файлов для автоматизации транспорта данных (141.71 Кбайт). такого комплекта нет
Исправил
*

detonart

  • Осваиваюсь на форуме
  • 30
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #818 : 15.10.2012, 00:22:20 »
Как и было сказано, сделано. Разумная критика и здравые предложения приветствуются. Статью написал здесь - http://kimkarus.ru/docsharp/209-2012-10-14
для какой версии virtuemart'a?
*

itn22

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #819 : 15.10.2012, 00:27:31 »
Здравствуйте!
Подскажите почему не происходит выгрузка пишет

Изменения товаров не зарегистрированы. Выгрузка товаров не произведена.

Фильтры в 1с не трогал

версия вирта 2.0.6
версия 1с 8.2 редакция  10.3 (10.3.14.3)

Подскажите пожалуйста что делать


ответьте мне пожалуйста как исправить?
*

kimkarus

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #820 : 15.10.2012, 14:19:55 »
для какой версии virtuemart'a?
Скрипт автора ветки работает и с 1.х.х, так и с 2.х. Программа работает, так как настроен конфиг, независимо от версий. Она выполняет, только трансфер файлов и папок, а также делает запросы к сайту.
*

kimkarus

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #821 : 15.10.2012, 14:21:23 »
ответьте мне пожалуйста как исправить?
Были подобные проблемы.
Проверьте, сперва, выгрузку в каталог. Что выгружает и выгружает ли хоть что-то.
*

itn22

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #822 : 15.10.2012, 20:05:24 »
выгрузило 2 файла import.xml и offers.xml в них какие то стандартные названия если есть люди которые могут помочь напишите мне в аську 406-344-535
*

itn22

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #823 : 15.10.2012, 20:18:26 »
сейчас уже пишет

Выгружено товаров: 148
Получен расширенный статус успешного завершения сеанса
Ответ сервера:
v8_52_34.zip

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

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


что сделать может было у кого такое?
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #824 : 15.10.2012, 20:26:29 »
что сделать может было у кого такое?

Было практически у всех. Надо смотреть логи.
Причины невыгрузки у всех разные.
Для начала очистите картинки в папках images/stories/virtuemart/product и images/stories/virtuemart/category
А также очистить таблицы в базе связанные с категориями и продуктами, там нужно очистить 11 или 12 таблиц.
После этого выгрузка как правило происходит без проблемм.
Надеюсь поможет.
*

itn22

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #825 : 15.10.2012, 20:46:39 »
не могу найти где в базе чистить какие таблици, картинки удалил с фтп как написали ошибка пока та же что и была
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #826 : 15.10.2012, 21:06:53 »
Таблицы:
_virtuemart_categories
_virtuemart_categories_ru_ru
_virtuemart_category_categories
_virtuemart_category_medias
_virtuemart_category_to_1c
_virtuemart_medias
_virtuemart_products
_virtuemart_products_ru_ru
_virtuemart_product_categories
_virtuemart_product_medias
_virtuemart_product_prices
_virtuemart_product_to_1c
Итого 12 штук. Обычно после очистки этих таблиц выгрузка проходит на ура.
Вначале названия таблицы ещё ваш суффикс.
*

itn22

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #827 : 15.10.2012, 21:10:26 »
спасибо щас проверю как получится а в логах 1с одни иероглифы только и мельком товар проскакивает
*

itn22

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #828 : 15.10.2012, 21:16:35 »
у меня нет такой таблици _virtuemart_product_to_1c
*

itn22

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #829 : 15.10.2012, 21:23:13 »
не помогла очистка
*

itn22

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #830 : 15.10.2012, 21:39:46 »
выгрузка просто в каталог проходит на ура, а на сайт все таже ошибка
*

kimkarus

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #831 : 15.10.2012, 23:59:22 »
Совет тем, у кого не выгружается на сайт и выдает различные ошибки. Выгружаем в каталог, ручками заливаем на фтп в папку, с которой работает скрипт и запускаем скрипт на импорт ручками. Примеры запуска скрипта:
http://mydomain.ru/vmshop_1c.php?mode=import&filename=import.xml - номенклатура
http://mydomain.ru/vmshop_1c.php?mode=import&filename=offers.xml - остатки + соглашения
http://mydomain.ru/vmshop_1c.php?mode=query - заказы с сайта
Смотрим логи. Если так не работает, то смотрим структуру выгружаемых файлов, подрабатываем скрипт под вашу версию КоммерческаяИнформация или правильное определение скриптом версию вируемарта (такое тоже было, тогда берем скрипт по ссылке с моего поста).
Если все замечательно, но упорно 1с-ка не хочет работать, то смотрим мой пост выше по этому поводу.
*

kimkarus

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #832 : 16.10.2012, 00:03:57 »
выгрузило 2 файла import.xml и offers.xml в них какие то стандартные названия если есть люди которые могут помочь напишите мне в аську 406-344-535
Попробуй решить проблему с помощью ручной заливки на фтп этих файлов и ручной запуск скрипта на импорт. См. пост выше.
*

Vitek

  • Захожу иногда
  • 185
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #833 : 16.10.2012, 06:57:49 »
Ошибка:
Ответ сервера:
<b>Fatal error</b>:  Allowed memory size of 67108864 bytes exhausted (tried to allocate 15552 bytes) in <b>/home/vhosts/flomas.com/httpdocs/components/com_virtuemart/1cexport/system/imgresize.php</b> on line <b>45</b><br />

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

а кто сталкивался с проблемой что скрипту не хватает памяти для его обработки? У меня хостинг даёт 64 мб., а скрипт требует больше, если я правильно понял эту ошибку.
*

itn22

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #834 : 16.10.2012, 08:04:21 »
все таже ошибка

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

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

fenixnow

  • Захожу иногда
  • 89
  • 2 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #835 : 16.10.2012, 09:14:33 »
в папке в которой сайт лежит :) есть папка log в этой папке файлы с логами, последний файл в студию
*

kimkarus

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #836 : 16.10.2012, 13:55:41 »
все таже ошибка

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

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


Загрузи на фтп только import.xml и offers.xml. Запусти скрипт и логи. Проверь отладкой, какая версия магазина определяется.
*

itn22

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #837 : 16.10.2012, 18:28:40 »
в логах на сайте одни только ошибки связанyые со структурой сайта или css

Цитировать
2012-05-14   01:12:52   INFO   127.0.0.1   Joomla FAILURE:    Username and password do not match or you do not have an account yet.
2012-05-14   01:13:21   INFO   127.0.0.1   Joomla FAILURE:    Empty password not allowed
2012-05-14   01:13:24   INFO   127.0.0.1   Joomla FAILURE:    Username and password do not match or you do not have an account yet.
2012-05-14   01:13:30   INFO   127.0.0.1   Joomla FAILURE:    Username and password do not match or you do not have an account yet.
2012-05-14   01:13:36   INFO   127.0.0.1   Joomla FAILURE:    Empty password not allowed
2012-05-14   01:13:58   INFO   127.0.0.1   Joomla FAILURE:    Empty password not allowed
2012-05-14   01:34:46   INFO   127.0.0.1   Joomla FAILURE:    Empty password not allowed
2012-05-22   17:17:18   INFO   213.7.164.77   Joomla FAILURE:    Username and password do not match or you do not have an account yet.

и такие

Цитировать
[Mon Oct 15 23:17:06 2012] [error] [client 176.222.249.141] File does not exist: /home/f/forumarket/1.ru/public_html/modules/mod_bt_booklet_jquery/images, referer: http://www.1.ru/modules/mod_bt_booklet_jquery/assets/css/jquery.booklet.1.3.1.css
[Mon Oct 15 23:17:06 2012] [error] [client 176.222.249.141] File does not exist: /home/f/forumarket/1.ru/public_html/modules/mod_bt_booklet_jquery/images, referer: http://www.1.ru/modules/mod_bt_booklet_jquery/assets/css/jquery.booklet.1.3.1.css
[Mon Oct 15 23:17:13 2012] [error] [client 176.222.249.141] File does not exist: /home/f/forumarket/1.ru/public_html/modules/mod_bt_booklet_jquery/images, referer: http://www.1.ru/modules/mod_bt_booklet_jquery/assets/css/jquery.booklet.1.3.1.css
[Mon Oct 15 23:17:13 2012] [error] [client 176.222.249.141] File does not exist: /home/f/forumarket/1.ru/public_html/modules/mod_bt_booklet_jquery/images, referer: http://www.1.ru/modules/mod_bt_booklet_jquery/assets/css/jquery.booklet.1.3.1.css

и все та же самая ошибка, не знаю уже что делать, может кто то просто отзовется мне помочь?
*

itn22

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #838 : 16.10.2012, 18:32:37 »

Проверь отладкой, какая версия магазина определяется.

как это сделать??
*

kimkarus

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #839 : 16.10.2012, 19:13:43 »
Проверь отладкой, какая версия магазина определяется.

как это сделать??
лога с таким названием у тебя нет "vmshop_1c_12_10_15_23_55.log.php"?
Первые логи имеют большую давность и и не относятся к делу. Вторые связаны с модулем, который не может найти таблицу стилей CSS. Ищи логи по скрипту!

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

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

Автор EmDmAl

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