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

Lexchel

  • Новичок
  • 1
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1020 : 16.08.2013, 20:50:46 »
Здравствуйте! Помогите, пожалуйста, решить проблему.
Работаю с базой 1С, интегрированной к VirtueMart с помощью скрипта с этого сайта: http://1c-virtuemart.ru/. В 1С есть пустые позиции, которые, по каким-то причинам всё равно заполняются в общий список номенклатуры для выгрузки на сайт. Нужные галочки уже стоят, но это бесполезно.
Может кто сталкивался с подобным или просто знает в чём проблема?
К, сожалению, если сами не разберетесь то ... Я покупал там скрип и еще дополнительно платил за адаптацию.. Как правильно сказали - все на словах.. Ничего не допросишься.. то заняты, то еще что-то.. Вообщем, было бы где, я оставил бы негативный отзыв.
*

fov

  • Захожу иногда
  • 84
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1021 : 19.08.2013, 19:03:22 »
Люди подскажите как победить вот такую проблему, все установил, залил. Настроил в 1С обмен, при попытке отправить zip файл на сервер мне посылает вот такую ошибку
Выгружено товаров: 11
Выгружено картинок: 11
Выгружено предложений: 2
Получен расширенный статус успешного завершения сеанса
Ответ сервера:
v8_16_43.zip

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

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

А что в логах сайта пишит?
*

fov

  • Захожу иногда
  • 84
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1022 : 19.08.2013, 19:04:54 »
А что в логах сайта пишит?
Попробуй прям из скрипта выгрузи из 1 с архив подгрузи скрипт и залей напрямую а не из 1 с
*

fov

  • Захожу иногда
  • 84
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1023 : 19.08.2013, 19:06:27 »
Как жалко что разработчик забросил скрипт если честно я бы за него заплатил
*

grayshadow

  • Новичок
  • 1
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1024 : 20.08.2013, 22:17:57 »
мои 5 копеек для будущих искателей:
производители не выгружаются из 1С, если у вас УТ 11.0.х.х, нужно обновлять на 11.1+ и переписывать скрипт
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1025 : 22.08.2013, 16:46:50 »
Люди подскажите как победить вот такую проблему, все установил, залил. Настроил в 1С обмен, при попытке отправить zip файл на сервер мне посылает вот такую ошибку
Выгружено товаров: 11
Выгружено картинок: 11
Выгружено предложений: 2
Получен расширенный статус успешного завершения сеанса
Ответ сервера:
v8_16_43.zip

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

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


Причина скорее всего в несоответствии вашей версии VirtueMart и версии написанной в файле checkver.php строка 29.
Для последней на сегодняшний день версии эта строка должна быть:
Цитировать
if ((($sh_version >= "200" and $sh_version <= "299") and $version != "2.0.0-RC-2M" and $version_status == "Final") or $sh_version == "2022b")
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1026 : 23.08.2013, 10:43:06 »

производители не выгружаются из 1С,....
Из 1С то они как раз выгружаются, а вот в VirtueMart не пишутся.
Если кто решил подскажите, как. Требовались ли допиливания, или ковырять в настройках.
*

Dealer

  • Захожу иногда
  • 66
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1027 : 26.08.2013, 15:48:30 »
Месяц бьюсь головой об стену, надежда только на Вас!
Сделал сайт на VirtueMart, все работает идеально
Через полгода снова выгружаю на сайт из 1c (обновляю номенклатуру)
1с выдает Не удалось установить соединение с сервером. Проверьте имя пользователя и пароль
логи: Этап 1) Не введен логин и пароль

помогите, куда копать?
*

neGODnic

  • Захожу иногда
  • 140
  • 4 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1028 : 26.08.2013, 18:25:17 »
Месяц бьюсь головой об стену, надежда только на Вас!
Сделал сайт на VirtueMart, все работает идеально
Через полгода снова выгружаю на сайт из 1c (обновляю номенклатуру)
1с выдает Не удалось установить соединение с сервером. Проверьте имя пользователя и пароль
логи: Этап 1) Не введен логин и пароль

помогите, куда копать?

Было такое ни 1 раз, когда фаилы в VM *.php какие-то менял. Потом методом удаления изменений нашел какой фаил глючил. И переписывал код, пока глюк не пропадал.
Ну либо с FTP какие-то проблемы.
И WebSpace сейчас всем закрыл доступ к админке и FTP. Если домен на нем, проверь тоже, входит ли в админку.
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1029 : 27.08.2013, 11:00:15 »
1с выдает Не удалось установить соединение с сервером. Проверьте имя пользователя и пароль
логи: Этап 1) Не введен логин и пароль
Было такое пару раз, из-за чего хз.
Помогает создание новой настройки обмена в 1С, не изменение существующей, а именно новой.
*

Dealer

  • Захожу иногда
  • 66
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1030 : 27.08.2013, 16:30:52 »
Спасибо, с новой настройкой тоже не работает, решил сделать еще 1 сайт с нулевым виртмартом - проверить выгрузку, если получится буду php смотреть
*

kot488

  • Захожу иногда
  • 53
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1031 : 29.08.2013, 13:13:19 »
в логах нечего нет, а как загрузить архив, папку компенентс правильно залил, может этот компенент както становить нужно?
*

kot488

  • Захожу иногда
  • 53
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1032 : 29.08.2013, 14:19:02 »
незнаю что делал но полезла новая ошибка
Выгружено товаров: 53
Выгружено картинок: 53
Выгружено предложений: 49
Произошла ошибка на стороне сервера. Файл не отправлен (C:\Documents and Settings\Администратор.VPU25\Local Settings\Temp\3\v8_12_7bf.zip).
Обмен не выполнен
Ответ сервера:
Can not open file: /home/sites/zolo.biz.ua/www/components/com_virtuemart/shop_image/product/v8_12_7bf.zip
/home/sites/zolo.biz.ua/www/components/com_virtuemart/shop_image/product/

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

kot488

  • Захожу иногда
  • 53
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1033 : 29.08.2013, 14:26:42 »
создал отсуствующие папки то теперь пустая ошибка
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1034 : 29.08.2013, 14:32:52 »
У вас версия VirtueMart совпадает с той которая в файле checkver.php?
Есть подозрение что нет.
*

kot488

  • Захожу иногда
  • 53
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1035 : 29.08.2013, 14:46:52 »
VirtueMart 2.0.6
checkve выглядит так if (($sh_version >= "200" and $sh_version <= "299") and $version != "2.0.0-RC-2M" and $version_status == "Final")

сделал так но все по старому
if (($sh_version >= "200" and $sh_version <= "299") and $version != "2.0.6-RC-2M" and $version_status == "Final")
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1036 : 29.08.2013, 14:48:52 »
Если версия последняя, то должна выглядеть так:
if ((($sh_version >= "200" and $sh_version <= "299") and $version != "2.0.0-RC-2M" and $version_status == "Final") or $sh_version == "2022b")
*

kot488

  • Захожу иногда
  • 53
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1037 : 29.08.2013, 14:51:11 »
сделал строку if ((($sh_version >= "200" and $sh_version <= "299") and $version != "2.0.0-RC-2M" and $version_status == "Final") or $sh_version == "2022b")

но нечего не поменялось(((

обновился до  2.0.22b но не помогло
*

fov

  • Захожу иногда
  • 84
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1038 : 01.09.2013, 19:43:21 »
незнаю что делал но полезла новая ошибка
Выгружено товаров: 53
Выгружено картинок: 53
Выгружено предложений: 49
Произошла ошибка на стороне сервера. Файл не отправлен (C:\Documents and Settings\Администратор.VPU25\Local Settings\Temp\3\v8_12_7bf.zip).
Обмен не выполнен
Ответ сервера:
Can not open file: /home/sites/zolo.biz.ua/www/components/com_virtuemart/shop_image/product/v8_12_7bf.zip
/home/sites/zolo.biz.ua/www/components/com_virtuemart/shop_image/product/

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

Судя по всему у тебя в php не включен zip
*

fov

  • Захожу иногда
  • 84
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1039 : 01.09.2013, 19:45:51 »
попробуй выгружать без zip или в ручном режиме zolo.biz.ua/vmshop_1c.php
*

Dealer

  • Захожу иногда
  • 66
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1040 : 10.09.2013, 23:17:54 »
Вот я олень, у меня в настройках домена стояло "php как cgi" а надо "php как модуль Apache". выгрузка прошла.
*

rgtinerda

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1041 : 21.09.2013, 08:56:02 »
Добрый день
есть проблема решение пока не нашел на форуме может чего подскажите
Выгружено товаров: 9
Выгружено предложений: 9
Получен расширенный статус успешного завершения сеанса
Ответ сервера:
import.xml
Получен расширенный статус успешного завершения сеанса
Ответ сервера:
offers.xml
Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.
Обмен не выполнен
Ответ сервера:
Warning: XMLReader::read(): An Error Occured while reading in
../components/com_virtuemart/1cexport/import_xml.php on line 143
error MySQL
Выгрузка товаров завершена с ошибками!
помогите (не хочется платить интеграции тут говорят ребятки без ответственные)
Спасибо.
*

fov

  • Захожу иногда
  • 84
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1042 : 21.09.2013, 17:15:38 »
Добрый день
есть проблема решение пока не нашел на форуме может чего подскажите
Выгружено товаров: 9
Выгружено предложений: 9
Получен расширенный статус успешного завершения сеанса
Ответ сервера:
import.xml
Получен расширенный статус успешного завершения сеанса
Ответ сервера:
offers.xml
Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.
Обмен не выполнен
Ответ сервера:
Warning: XMLReader::read(): An Error Occured while reading in
../components/com_virtuemart/1cexport/import_xml.php on line 143
error MySQL
Выгрузка товаров завершена с ошибками!
помогите (не хочется платить интеграции тут говорят ребятки без ответственные)
Спасибо.
Выложи лог с сайта
И из 1 с
*

rgtinerda

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1043 : 24.09.2013, 17:59:48 »
Вот логи не нашел где брать
простите за неопытность
ошибку Вы видели со стороны 1с а со стороны vm в корне и в 1сexport не нашел
Заранее Спасибо.
« Последнее редактирование: 24.09.2013, 19:42:29 от rgtinerda »
*

Kosmas

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1044 : 02.10.2013, 13:56:22 »
приветы!
обозначьте кто-нибудь последнюю рабочую конфигурацию:
1С - версия
1С - дополнения
wmshop_1c.php - версия

а то у мну старая версия КА и дальше проверки пароля не идет...
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1045 : 02.10.2013, 14:49:13 »
wmshop_1c.php - версия
Обе версии, которые в шапке темы рабочие.
а то у мну старая версия КА и дальше проверки пароля не идет...
Если авторизация проходит, возможно не заданы параметры выгрузки.
Ещё возможно не установлено дополнение от Битрикса. В шапке есть об этом.
*

Kosmas

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1046 : 02.10.2013, 21:10:55 »
прилетело НЛО и опубликовало этот пост
« Последнее редактирование: 04.10.2013, 10:42:54 от Kosmas »
*

Kosmas

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1047 : 03.10.2013, 00:58:27 »
кто как запускает отладчик PHP для обработки HTTP заголовков от 1С?
*

Kosmas

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1048 : 03.10.2013, 01:34:17 »
странно... на 5 шаге установки скрипта

#Date: 2013-10-02 21:23:58 UTC
#Software: Joomla Platform 11.4.0 Stable [ Brian Kernighan ] 03-Jan-2012 00:00 GMT

#Fields: date   time   priority   clientip   category   message
2013-10-02   21:23:58   INFO   192.168.0.57   -   Скрипт адптации 1С и магазина VirtueMart версии: 2.0.6 Релиз: Final, версия скрипта: 2.0.9, обнуление базы перед выгрузкой: yes, выгрузка архивом: yes
2013-10-02   21:23:58   INFO   192.168.0.57   -   Этап 1) Авторизация на сервере
2013-10-02   21:23:59   INFO   192.168.0.57   -   Этап 1) Успешно

и все...

УТ 10.3.23.3 без аддона.
 выдает "Не удалось установить соединение с сервером. проверьте имя пользователя и пароль"

АПД
с аддоном тоже самое
как поднять отладчик?


АПД
трассировка 1ц показала что checkauth.php возвращает какую-то хню и success при правильном логине и пароле.

вот такой ответ:

ОтветСервера =
<br />
<b>Strict Standards</b>:  Only variables should be assigned by reference in <b>/srv/www/htdocs/test/vmshop_1c.php</b> on line <b>61</b><br />
<br />
<b>Strict Standards</b>:  Only variables should be assigned by reference in <b>/srv/www/htdocs/test/vmshop_1c.php</b> on line <b>63</b><br />
<br />
<b>Strict Standards</b>:  Only variables should be assigned by reference in <b>/srv/www/htdocs/test/vmshop_1c.php</b> on line <b>68</b><br />
success

АПД

стр61 $mainframe = & JFactory::getApplication ( 'site' );
стр63 $db = & JFactory::getDBO ();
стр68 $log = &JLog::getInstance ( 'vmshop_1c_'.date('y_m_d_H_i').'.log.php' );

РЕШЕНО
Панель управления Joomla -> Общие настройки -> Сервер -> Сообщения об ошибках = простой
или
php.ini -> error_reporting = E_ALL
или
убрать в коде & (не пробовал)
« Последнее редактирование: 03.10.2013, 14:21:08 от Kosmas »
*

kot488

  • Захожу иногда
  • 53
  • 0 / 0
Re: 1C УТ 8.x <-> VirtueMart по протоколу CommerceML
« Ответ #1049 : 07.10.2013, 15:56:50 »
Поборол я свои предыдущие грабли с модулем обмена)))

но теперь у меня новые, подскажите решение

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

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

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

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

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

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

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

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

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

Как импортировать файл 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