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

flat4er

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Перенос магазина.
« : 01.08.2011, 14:33:17 »
Помогите.  >:(

Ситуация следующая: Joomla 1.5.23 VirtueMart 1.1.8
всё это находилось по адресу www.adress.ru/shop
решил перенести просто на www.adress.ru

Соответственно перенес всё из папки appserv/www/shop в папку appserv/www
Сайт работает, как и прежде. Магазин запускается, но без картинок. В админку магазина зайти могу. Больше никуда. Выдает ошибку.
Как поправить?
Есть ли быстрое решение?
*

flat4er

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Re: Перенос магазина.
« Ответ #1 : 01.08.2011, 14:40:55 »
Уффф...
При входе в настройки, выдало ошибку. В адресной строке поменял www.adress.ru/shop/administrator/........ на www.adress.ru/administrator/........
таким образом попал в настройки.
там исправил "Site URL" и "Адрес для защищённого режима" и
ВСЁ ЗАРАБОТАЛО! :)

извините. был напуган   
*

flat4er

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Re: Перенос магазина.
« Ответ #2 : 01.08.2011, 21:05:31 »
Рано радовался. :( Показываются только маленькие картинки. При нажатии на картинку зависает. Где поменять адрес для ссылок на картинки?
*

fsv

  • Moderator
  • 2781
  • 411 / 2
Re: Перенос магазина.
« Ответ #3 : 01.08.2011, 21:59:19 »
Рано радовался. :( Показываются только маленькие картинки. При нажатии на картинку зависает. Где поменять адрес для ссылок на картинки?

проверьте  Общие настройки Joomla – Система - Путь к папке с Изображениями
Веб-разработка: заказ. Только новая разработка.
*

flat4er

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Re: Перенос магазина.
« Ответ #4 : 01.08.2011, 22:30:58 »
проверьте  Общие настройки Joomla – Система - Путь к папке с Изображениями

там у меня выставлено просто images/stories и всё.

Адрес к картинкам остался старый:  adress.ru/shop/components/com_virtuemart/shop_image/product
*

fsv

  • Moderator
  • 2781
  • 411 / 2
Re: Перенос магазина.
« Ответ #5 : 01.08.2011, 23:04:17 »
Адрес к картинкам остался старый:  adress.ru/shop/components/com_virtuemart/shop_image/product

в файле конфигурации VM
\administrator\components\com_virtuemart\virtuemart.cfg.php
проверьте путь к картинкам в строках 38, 41, 50

Веб-разработка: заказ. Только новая разработка.
*

flat4er

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Re: Перенос магазина.
« Ответ #6 : 01.08.2011, 23:19:48 »
проверил. Вроде, всё, как положено:

Цитировать
define( 'URL', 'http://adress.ru/' );
define( 'SECUREURL', 'http://adress.ru/' );

if ( (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == '443' ) {
define( 'IMAGEURL', SECUREURL .'components/com_virtuemart/shop_image/' );
define( 'VM_THEMEURL', SECUREURL.'components/com_virtuemart/themes/default/' );
} else {
define( 'IMAGEURL', URL .'components/com_virtuemart/shop_image/' );
define( 'VM_THEMEURL', URL.'components/com_virtuemart/themes/default/' );
}
define( 'VM_THEMEPATH', $mosConfig_absolute_path.'/components/com_virtuemart/themes/default/' );

define( 'COMPONENTURL', URL .'administrator/components/com_virtuemart/' );
define( 'ADMINPATH', $mosConfig_absolute_path.'/administrator/components/com_virtuemart/' );
define( 'CLASSPATH', ADMINPATH.'classes/' );
define( 'PAGEPATH', ADMINPATH.'html/' );
define( 'IMAGEPATH', $mosConfig_absolute_path.'/components/com_virtuemart/shop_image/' );
*

fsv

  • Moderator
  • 2781
  • 411 / 2
Re: Перенос магазина.
« Ответ #7 : 01.08.2011, 23:29:34 »
Кажется, я вас не так понял. Сбило ваше "Показываются только маленькие картинки. При нажатии на картинку зависает. Где поменять адрес для ссылок на картинки?" Я подумал, что у вас с картинками проблема, а у вас с VM в целом?

define( 'URL', 'http://adress.ru/' );
define( 'SECUREURL', 'http://adress.ru/' );

пропишите с WWW
Веб-разработка: заказ. Только новая разработка.
*

flat4er

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Re: Перенос магазина.
« Ответ #8 : 01.08.2011, 23:40:28 »
пропишите с WWW
Без изменений :(
*

fsv

  • Moderator
  • 2781
  • 411 / 2
Re: Перенос магазина.
« Ответ #9 : 01.08.2011, 23:51:10 »
Хотел бы уточнить, что не получается?
У вас получается зайти в админку VM, но при клике на любую пиктограмму меню VM никуда не переходит? У вас это?
Если да, скопируйте ссылку на меню VirtueMart из админки Joomla, и ссылку на любое меню VM из админки VM.
Веб-разработка: заказ. Только новая разработка.
*

flat4er

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Re: Перенос магазина.
« Ответ #10 : 02.08.2011, 00:04:08 »
Хотел бы уточнить, что не получается?
У вас получается зайти в админку VM, но при клике на любую пиктограмму меню VM никуда не переходит?

нет. Совсем не это!
Я перенес сайт. Теперь при просмотре товара на сайте (не в админке) я вижу маленькие картинки товара. При нажатии на маленькую картинку, должно открыться окно с большой картинкой. Оно не открывается! Вернее, открывается, но картинку не показывает. При наведении курсора на маленькую картинку, в строке состояния браузера, виден урл со старым адресом adress.ru/shop/components/com_virtuemart/shop_image/product
*

flat4er

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Re: Перенос магазина.
« Ответ #11 : 02.08.2011, 12:38:37 »
Как я понимаю, решения этой проблемы нет. :(
Картинки для новых товаров создаются правильно, а для старых, видимо, придется оставить в папке shop :(

Так же слетели баннеры. Каких еще сюрпризов ждать? Есть ли какой-нить инструмент проверки?
*

Messir

  • Давно я тут
  • 532
  • 73 / 0
  • могу укусить:)
Re: Перенос магазина.
« Ответ #12 : 02.08.2011, 14:06:40 »
Как я понимаю, решения этой проблемы нет. :(
Картинки для новых товаров создаются правильно, а для старых, видимо, придется оставить в папке shop :(

Так же слетели баннеры. Каких еще сюрпризов ждать? Есть ли какой-нить инструмент проверки?
Посмотрите путь к картинкам в таблице vm_product, поля product_thumb_image и product_full_image, особенно второе поле... Перед именем файла не должно быть ничего. Затем идем в таблицу vm_product_files и смотрим поле file_url. Вот там то скорее всего и нужно корректировать путь. Для баннеров возможно просто нужно переназначить картинки...
« Последнее редактирование: 02.08.2011, 14:17:21 от Messir »
*

flat4er

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Re: Перенос магазина.
« Ответ #13 : 02.08.2011, 17:02:30 »
Посмотрите путь к картинкам в таблице vm_product, поля product_thumb_image и product_full_image, особенно второе поле... Перед именем файла не должно быть ничего. Затем идем в таблицу vm_product_files и смотрим поле file_url. Вот там то скорее всего и нужно корректировать путь. Для баннеров возможно просто нужно переназначить картинки...
я извиняюсь, но я не знаю, где искать эти таблицы :( Это отдельные файлы или что?
Я просто новичОк в этом деле.
*

Messir

  • Давно я тут
  • 532
  • 73 / 0
  • могу укусить:)
Re: Перенос магазина.
« Ответ #14 : 02.08.2011, 18:25:47 »
я извиняюсь, но я не знаю, где искать эти таблицы :( Это отдельные файлы или что?
Я просто новичОк в этом деле.
В базе данных сайта, зайти можно через phpmyadmin в панели управления хостингом.
*

flat4er

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Re: Перенос магазина.
« Ответ #15 : 02.08.2011, 19:31:35 »
Действительно, в таблице vm_product_files, есть таблица file_url. Там список картинок с неправильными ссылками. Но их 3 с лишним тысячи!

Баннеры так и не заработали. Причем, выставил в свойствах "показывать заголовок" - заголовок показывается, сам баннер нет.
*

Messir

  • Давно я тут
  • 532
  • 73 / 0
  • могу укусить:)
Re: Перенос магазина.
« Ответ #16 : 02.08.2011, 20:32:45 »
Действительно, в таблице vm_product_files, есть таблица file_url. Там список картинок с неправильными ссылками. Но их 3 с лишним тысячи!

Баннеры так и не заработали. Причем, выставил в свойствах "показывать заголовок" - заголовок показывается, сам баннер нет.
Делайте дамп этой таблицы, открывайте текстовым редактором и через "найти-заменить" исправляйте ссылки. Это будет быстрее, чем заливать картинки по новой. Про баннеры я же сказал - переназначьте им картинки, при чем тут заголовок? Откройте error.log на хостинге и увидите кучу ошибочных путей. Это все нужно править.

Да, и вопрос вдогонку - кэш сайта очищали?
« Последнее редактирование: 02.08.2011, 20:36:19 от Messir »
*

flat4er

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Re: Перенос магазина.
« Ответ #17 : 02.08.2011, 21:50:31 »
Делайте дамп этой таблицы, открывайте текстовым редактором и через "найти-заменить" исправляйте ссылки. Это будет быстрее, чем заливать картинки по новой.

Новые картинки сохраняются по новому адресу. А старые я скопировал туда, куда путь указан. Это быстрее, чем править 3К записей. :)

Цитировать
Про баннеры я же сказал - переназначьте им картинки, при чем тут заголовок?


Переназначил. Не помогло. Про заголовок написал к тому, что по включенному заголовку видно, что модуль работает. Просто картинки не показывает. :(

Цитировать
Откройте error.log на хостинге и увидите кучу ошибочных путей. Это все нужно править.

Извините пожалуйста, но где посмотреть этот файл? Через поиск нашел только файл каких-то скриптов. Там всё ок. Или в рнрадмин лезть?

Цитировать
Да, и вопрос вдогонку - кэш сайта очищали?

Да, конечно.
*

flat4er

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Re: Перенос магазина.
« Ответ #18 : 05.08.2011, 13:36:36 »
Баннеры так и не заработали. :(
Так же заметил, что зайдя в панель администрирования и нажав на VirtueMart опять выскакивает окно авторизации.
Вобщем, глючит понемногу. Есть ли какая-нить утилита поиска ошибок? Что можете посоветовать?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор andrey488

Ответов: 4
Просмотров: 4015
Последний ответ 07.03.2017, 01:19:33
от SeBun
Решено: Joomla 1.0.15 & VirtueMart 1.1.5, табы в админки магазина не работают

Автор zlideni

Ответов: 1
Просмотров: 2840
Последний ответ 25.12.2011, 17:07:22
от DmAlex
Joomla и VirtueMart перенос на другой хостинг

Автор Shadow

Ответов: 1
Просмотров: 2679
Последний ответ 01.08.2011, 15:02:10
от flat4er
При переносе магазина на сервер

Автор kavaler

Ответов: 5
Просмотров: 2022
Последний ответ 13.06.2011, 21:43:42
от ShadowXak
Проблема с инсталляцией скрипта магазина Goodbody

Автор samandar

Ответов: 3
Просмотров: 2432
Последний ответ 11.06.2011, 00:04:58
от Valiks