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

RaZoR.eXe

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #30 : 23.08.2009, 22:14:43 »
Спасибо. Я и буд на хост ставить :)
*

Nemo31

  • Осваиваюсь на форуме
  • 49
  • 5 / 0
*

yura833

  • Новичок
  • 4
  • 0 / 0
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #32 : 05.10.2009, 13:53:18 »
не могу установить ВМРЕ скачиваю его с сайта http://virtuemart.ru/ версия Joomla 1.5.9.14 выдет ошибку что при автоматической что при ручной установке Ошибка! Невозможно найти XML-файл установки в пакете Joomla!.
По заданному пути не обнаружен нужный пакет
Подскажите что не так?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
*

yura833

  • Новичок
  • 4
  • 0 / 0
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #34 : 05.10.2009, 14:19:27 »
для версии 1.5 он не подходит?

Re: Как установить компонент VirtueMart 1.1.3
« Ответ #36 : 19.10.2009, 10:09:06 »
Ребята, вот еще один способ установить виртмарт, если вы до этого ставили его и не получалось (у меня так и было) я на локалке сделал новый сайт и уже из админки устанавливал его из папки:
1. заходите на свой виртуальный диск ( у меня Х) и идете в папку где стоит ваш сайт у меня  например X:\home\localhost\www\project, ищете папку \Joomla_1.5.7_RUS\в ней папку \tmp\ и в нее разархивируйте файл com_virtuemart_1.1.3.j15.zip,
конечный вариант в админке установить из папки выглядел вот так X:\home\localhost\www\project\Joomla_1.5.7_RUS\tmp\com_virtuemart_1.1.3.j15, установилось все удачно. видимо после моих попыток установить на другом сайте косячатся файлы поэтому надо ставить на чистовик так сказать. Извините если сумбурно и непонятно.
*

Nemo31

  • Осваиваюсь на форуме
  • 49
  • 5 / 0
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #37 : 04.11.2009, 17:42:01 »
Это пожалуй тоже относится к установке. Вот такая статья:  ^-^
Создание пункта меню для магазина на VirtueMart, установка и настройка главного модуля
*

dmi-sky

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #38 : 15.12.2009, 20:45:43 »
Не получается, выручайте, объясните мне чайнику!

Пытаюсь поставить ВМ 1,1,3 на жумлу 1.5.15. Делаю следующие операции - разархивирываю архив "VirtueMart_1.1.3-COMPLETE_PACKAGE.j15.zip", внутри такие такие элементы - "com_virtuemart_1.1.3.j15.zip", "modules", "plugins", "VirtueMart_1.1_Installation.pdf". Следующий этап - разархивирываю "com_virtuemart_1.1.3.j15.zip" - захожу в полученную папку и там куча файлов магазина. Все полученную папку, копирую и вставляю на локальный сервер ...www\tmp\. Далее через админку устанавливаю расширения -> установить. Появляется картинка, что всё установлено, нажимаю "Install SAMPLE DATA", появляется сообщение, проверить лог файл. В этом файле следующая запись:

"[Tue Dec 15 20:03:19 2009] [error] [client 127.0.0.1] File does not exist: Z:/home/joomla/www/components/com_virtuemart/shop_image, referer: http://joomla/administrator/index.php
[Tue Dec 15 20:03:23 2009] [error] [client 127.0.0.1] File does not exist: Z:/home/joomla/www/administrator/components/com_virtuemart/install_logo.png, referer: http://joomla/administrator/index.php?option=com_virtuemart"

Вот собственно и всё. Чего делать не понимаю. Как исправить сию проблему?


P.S. в админке в компонентах VM появляется, но стоит на него нажать вновь выскакивает окно с подписями, как и при начальной установке:
Welcome to VirtueMart 1.1.3 stable !

The first step of the Installation was SUCCESSFUL
Let's prepare the database now (the Installation Script hasn't found existing mambo-phpShop/VirtueMart Tables, so let's do a fresh installation).
и две кнопки с подписями "Go directly to the Shop >>" и "Install SAMPLE DATA >>"


Заранее благодарю
« Последнее редактирование: 15.12.2009, 20:55:35 от dmi-sky »
*

dmi-sky

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #39 : 17.12.2009, 15:24:03 »
ПРОБЛЕМА РЕШЕНА! :D :D :D

Зашёл в лог записи, посмотрел какие именно ошибки и по-какому адресу. В одном месте не хватало папки "shop_image" -так было написано в ЛОГ, хотя в действительности она существовала - решение - зайти в дистрибутив магазина, тот который ещё не установлен, там есть архив "frontend_files.tar" - его разархивировал и нашёл папку шоп_имэйдж и просто скопировал её, заменив полностью все дубликаты на сервере. Недостающую картинку "install_logo.png" - нарисовал размера 10*10 px и вставил на нужное место, ну и для пущей уверенности добавил файл .htaccess, вписав в него строчку в самом конце "php_value max_execution_time 600". И всё сразу заработало
*

buromka

  • Новичок
  • 3
  • 0 / 0
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #40 : 18.12.2009, 11:12:37 »
Joomla - Стала
патч тоже
языки добавил, но при смене в админ меню язык не меняется ни где.
может в модуле магазина тоже есть отдельная менюшка смена языка - но не нашел
после обновления на разных языках разные версии - это нормально?


Re: Как установить компонент VirtueMart 1.1.3
« Ответ #41 : 20.12.2009, 15:59:17 »
 пожалуйста! Не пойму что не так..
Устанавливаю VirtueMart_1.1.4_COMPLETE_PACKAGE.j15 на Joomla_1.5.14-Stable-Full_Package-Russian
перепробовала все описанные тут пути и методы.. но всё время пишет одну и ту же ошибку..

JFolder::create: Path not in open_basedir paths
Компонент Установить: Ошибка при создании директории: "/www/ax3.net/d/a/danym/home/site/components/com_virtuemart"

что я не так делаю? (((

Re: Как установить компонент VirtueMart 1.1.3
« Ответ #43 : 20.12.2009, 22:57:19 »
ага пишу))
вот так люди знакомятся.. через 3 друзей вышла на парнишку.. консультируюсь)) всем спасибо))
*

redlady

  • Новичок
  • 9
  • 0 / 0
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #44 : 29.12.2009, 13:05:48 »
всем привет, а у меня другая проблема-уже везде поискала, ответа не могу найти........
подскажите что же делать пожалуйста?
загрузила все по инструкции, и все равно-откуда это вылезло?

Warning: require_once(/home/мой сайт/public_html/plugins/content/../../components/com_virtuemart/virtuemart_parser.php) [function.require-once]: failed to open stream: No such file or directory in /home/мой сайт/public_html/plugins/content/vmproductsnapshots.php on line 42

Fatal error: require_once() [function.require]: Failed opening required '/home/мой сайт/public_html/plugins/content/../../components/com_virtuemart/virtuemart_parser.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/мой сайт/public_html/plugins/content/vmproductsnapshots.php on line 42

*

redlady

  • Новичок
  • 9
  • 0 / 0
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #45 : 29.12.2009, 13:08:01 »
это появляется когда включаю модули или плагины, которые загрузила с установочного пакета
*

redlady

  • Новичок
  • 9
  • 0 / 0
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #47 : 29.12.2009, 16:03:09 »
не помогает
*

redlady

  • Новичок
  • 9
  • 0 / 0
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #48 : 29.12.2009, 16:05:49 »
если включен  модуль, то пишет вот так


Warning: require_once(/home/мой сайт/public_html/components/com_virtuemart/virtuemart_parser.php) [function.require-once]: failed to open stream: No such file or directory in /home/мой сайт/public_html/modules/mod_virtuemart/mod_virtuemart.php on line 25

Fatal error: require_once() [function.require]: Failed opening required '/home/fengshui/public_html/components/com_virtuemart/virtuemart_parser.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/мой сайт/public_html/modules/mod_virtuemart/mod_virtuemart.php on line 25
*

redlady

  • Новичок
  • 9
  • 0 / 0
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #49 : 02.01.2010, 09:32:16 »
лююююююдииии, помооооогите, подарок к нОвому году сделайте-обьясните пожалуйста!
*

fotosmail

  • Захожу иногда
  • 87
  • 7 / 0
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #50 : 12.01.2010, 11:32:19 »
подскажите что дальше делать поставил на хостинге компонент   вм 1 1 3 , появилась  табличка что это компонент 1 1 3 и внизу 2 ссылки  Go directly to the Shop >>             Install SAMPLE DATA >> нажимаю на них выводит  такую ошибку

Update Log
Critical Error:

Some Core Files for VirtueMart are missing, but they are required for installing and running VirtueMart. If you see this message it's recommended to attempt the Manual Installation of VirtueMart!

Click here to return to Joomla!
как это исправить подскажите пожалуйстаз,
*

fotosmail

  • Захожу иногда
  • 87
  • 7 / 0
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #51 : 12.01.2010, 12:37:20 »
если включен  модуль, то пишет вот так


Warning: require_once(/home/мой сайт/public_html/components/com_virtuemart/virtuemart_parser.php) [function.require-once]: failed to open stream: No such file or directory in /home/мой сайт/public_html/modules/mod_virtuemart/mod_virtuemart.php on line 25

Fatal error: require_once() [function.require]: Failed opening required '/home/fengshui/public_html/components/com_virtuemart/virtuemart_parser.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/мой сайт/public_html/modules/mod_virtuemart/mod_virtuemart.php on line 25


при включении модуля у меня тоже самое, помогите как это исправить очень надо, уже с этим компонентом 2 дня парюсь
*

fotosmail

  • Захожу иногда
  • 87
  • 7 / 0
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #52 : 12.01.2010, 15:02:25 »
все я разобрался, частичная была проблема в моем хостинге, они поставили права. и еще надо было переименовать  VirtueMart.cfg-dist.php в  такое VirtueMart.cfg.php и после этого удалить  install.php все эти 2 файла находятся  в директории administrator/components/com_virtuemart ,всем спс за помощь))))
*

alex54

  • Захожу иногда
  • 157
  • 3 / 1
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #53 : 12.01.2010, 20:51:49 »
 магазин поставить не могу, VirtueMart
устанавливается, а дальше пытаюсь пройти и получаю окошко

и далее ошибка
Fatal error: Cannot redeclare _pear_call_destructors() (previously declared in /home/satnsk/public_html/test/libraries/pear/PEAR.php:773) in /home/satnsk/public_html/test/administrator/components/com_virtuemart/PEAR.php on line 714
че надо то

таблицы не создаются в базе
*

alex54

  • Захожу иногда
  • 157
  • 3 / 1
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #54 : 14.01.2010, 09:43:57 »
магазин установил, с этим разобрался, в админке все работает

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

Fatal error: Cannot redeclare _pear_call_destructors () (previously declared in /home/satnsk/public_html/test/libraries/pear/PEAR.php:773) in /home/satnsk/public_html/test/administrator/components/com_virtuemart/PEAR.php on line 714

уже не знаю где искать
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #55 : 14.01.2010, 09:59:04 »
на оффсайте рекоммендуют удалить всё содержимое файла  /administrator/components/com_virtuemart/PEAR.php.
На всякий случай сохраните этот файл.
*

alex54

  • Захожу иногда
  • 157
  • 3 / 1
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #56 : 14.01.2010, 11:06:26 »
+ спасибо, реально помогло

Re: Как установить компонент VirtueMart 1.1.3
« Ответ #57 : 17.01.2010, 05:48:15 »
Та же проблема с языками, админка на русский стала, а сам магазин нет. И еще вопрос в самом магазине как включить чтобы отображались флажки языков? ::)
*

altyn

  • Захожу иногда
  • 310
  • 7 / 0
  • Бог придумал смех для того чтоб над собой смеялись
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #58 : 17.01.2010, 23:32:03 »
Та же проблема с языками, админка на русский стала, а сам магазин нет. И еще вопрос в самом магазине как включить чтобы отображались флажки языков? ::)
Не в ту папку вы распаковали языковой пакет
*

altyn

  • Захожу иногда
  • 310
  • 7 / 0
  • Бог придумал смех для того чтоб над собой смеялись
Re: Как установить компонент VirtueMart 1.1.3
« Ответ #59 : 17.01.2010, 23:32:13 »
1 СПОСОБ

Устанавливается на Joomla 1.5 русифицированную без VirtueMart

скачал  здесь VirtueMart
 Там выбираем файл Complete Package for Joomla! 1.5 и скачиваю куда-нибудь себе .Теперь  распаковываю его  в любую папку себе на комп  в этой папке после распаковки появляются еще 4 папки одна из которых  com_virtuemart_1.1.4.j15.zip вот её теперь распаковываем  в Z:\home\mysite13.ru\www\tmp

Захожу в админку. Расширения > Установить/удалить.
Открывается страница, на которой есть: "Загрузить файл пакета", "Установить из папки" и чё-то там ещё...
Смотрим  "Установить из папки" какой там путь прописан. У меня на локале такой "Z:\home\mysite13.ru\www\tmp". Поэтому я положил все файлы из архива com_VirtueMart_1.1.3.j15.zip в папку tmp\com_VirtueMart на своём серваке.

В админке "Установить из папки" дописал после "\tmp" ещё "\com_VirtueMart" и нажал кнопочку Установить. Вот так.

Перед этим надо проверить, или удалена папка "administrator\components\com_VirtueMart" и "components\com_VirtueMart"
(если Вы до этого пытались как то установить VirtueMart то это папка у вас может быть если вы в первый раз пытаетесь то удалять естественно Вам не надо).


2 СПОСОБ
Скачать Joomla со встроеным Виртуемартом _eCommerce_Bundle_Joomla_1.5.8_VirtueMart_1.1.2

Накатить  патч  (чтобы  обновить Joomla 1.5.8 до 1.5.13)

Накатить Патч Виртуемарта (чтобы обновить VirtueMart 1.1.2 до 1.1.3)

Скачать файл русификации для  админки
 
Эту папку распакуйте  в папку ru-RU (заранее её создайте в папке \www\administrator\language рядом увидете похожую папку en-GB)

Скачать файл русификации для фронта  

Эту папку распаковать в папку ru-RU  (заранее её создайте в папке \www\language рядом увидете похожую папку en-GB)

 Скачать файл русификации для виртуемарта

и распаковать его в папку \www\administrator\components\com_virtuemart
« Последнее редактирование: 17.01.2010, 23:35:34 от altyn »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перенос с 1.5 на 3.5 + VirtueMart

Автор andrey488

Ответов: 4
Просмотров: 4014
Последний ответ 07.03.2017, 01:19:33
от SeBun
Проблема с установкой VirtueMart 1.1.4

Автор Tell

Ответов: 10
Просмотров: 8431
Последний ответ 02.01.2017, 17:28:01
от pomogu_chem_smogu
Проблемы с установкой VirtueMart

Автор inka

Ответов: 14
Просмотров: 9185
Последний ответ 03.09.2015, 01:44:49
от Amigos
mod VirtueMart latestprod способствовал появлению белого экрана

Автор smogrom

Ответов: 21
Просмотров: 4663
Последний ответ 15.01.2015, 11:50:23
от Schumaker
Русификация VirtueMart. Как ее сделать?

Автор Koriolan

Ответов: 52
Просмотров: 56482
Последний ответ 05.11.2014, 15:37:43
от Jiggy