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

Vladlen

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
два сайта на одной базе
« : 21.09.2009, 11:13:04 »
День добрый форумчане.
Уже несколько дней не могу решить одну проблему...
Ситуация вот в чем заключается: мне нужно было сделать два полностью одинаковых сайта на разных доменах. Вообщем чтобы не делать двойную работу - добавлять товары в один сайт, а потом тоже самое делать на втором - сделал так: настроил один сайт, и скопировал все файлы на другой.. при этом во втором сайте в конфигураторе указал путь на базу первого . Вроде бы все заработало. Даже добавляю товар в одном сайте - он появляеться в двух! А вот картинка товара только отображается только на первом...
Так вот вопрос, где во втором сайте, можно прописать путь на папки с картинками на первый сайт? ну ни как не могу его найти...
Сайты работают на одном сервере...
то есть где можно исправить
/usr/local/www/2site.com/components/com_virtuemart/shop_image/product
/usr/local/www/2site.com/components/com_virtuemart/shop_image/product/resized
вот мне нужно исправить 2site.com на 1site.com..  в каком файле это редактируется?
Заранее благодарю за помощь!
*

delphine

  • Захожу иногда
  • 189
  • 30 / 0
Re: два сайта на одной базе
« Ответ #1 : 21.09.2009, 12:49:23 »
Я думаю тебе подойдет такое.
Если у тебя два идентичных сайта, то тебе просто напросто все изображения (причем ВСЕ, хотя можно и настроить что бы только для VirtueMart работало) грузились бы с 1site.com.
Как это сделать. Открываем файл .htaccess на домене 2site.com и добавляем в него
Код
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} (.*) jpg$ [NC,OR]
RewriteCond %{REQUEST_FILENAME} (.*) gif$ [NC,OR]
RewriteCond %{REQUEST_FILENAME} (.*) png$ [NC,OR]
RewriteRule ^(.*)$ http://1site.com/$1 [R]
Ну вобще добавляешь сюда какие файлы хочешь грузить с 1site.com
По крайней мере не нужно будет лезть в код Joomla.
« Последнее редактирование: 21.09.2009, 12:58:56 от delphine »
Не дружу с дизайном.
Приветствуются обмен ссылками или
Z879646195991 | R637245146155 | E222695044531 | U162157337447 | Y381916949633 | B493612164919 | Я.Деньги 41001254998875
*

delphine

  • Захожу иногда
  • 189
  • 30 / 0
Re: два сайта на одной базе
« Ответ #2 : 21.09.2009, 15:53:48 »
А лучше вместо
Код
RewriteRule ^(.*)$ http://1site.com/$1 [R]
написать
Код
RewriteRule ^(.*)$ http://1site.com/$1 [R,P]
Так, никто не узнает, что изображения грузятся с другого сайта.  ^-^
Не дружу с дизайном.
Приветствуются обмен ссылками или
Z879646195991 | R637245146155 | E222695044531 | U162157337447 | Y381916949633 | B493612164919 | Я.Деньги 41001254998875
*

_ib_

  • Давно я тут
  • 673
  • 100 / 8
Re: два сайта на одной базе
« Ответ #3 : 21.09.2009, 15:59:14 »
не понимаю, в чём смысл сего извращения с 2.мя сайтами?
Легальные шаблоны и дёшево!  + скидки до 50% для шаблонов клуба Joomlart, RocketTheme, Yootheme и Gavick.

при интересе пишите в личку или на мыло: "p" точка "d" собака gmx.de
*

Vladlen

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
Re: два сайта на одной базе
« Ответ #4 : 21.09.2009, 16:35:19 »
смысл в том, что нужно два сайта.... с одинаковой продукцией, разделами вообщем со всем! и что-бы не делать двойную работу, а именно добавлять в один сайт товары а потом во второй - проще сделать два сайта на одной базе...
а то что пишет delphine  - не помогает!
*

delphine

  • Захожу иногда
  • 189
  • 30 / 0
Re: два сайта на одной базе
« Ответ #5 : 21.09.2009, 17:03:22 »
В чем не помагает? Стукни в аську...
Не дружу с дизайном.
Приветствуются обмен ссылками или
Z879646195991 | R637245146155 | E222695044531 | U162157337447 | Y381916949633 | B493612164919 | Я.Деньги 41001254998875
*

_ib_

  • Давно я тут
  • 673
  • 100 / 8
Re: два сайта на одной базе
« Ответ #6 : 21.09.2009, 21:59:02 »
смысл в том, что нужно два сайта.... с одинаковой продукцией, разделами вообщем со всем! и что-бы не делать двойную работу, а именно добавлять в один сайт товары а потом во второй - проще сделать два сайта на одной базе...
это я понял, непонятен замысел 2-х одинаковых сайтов. Разные названия фирм?
если фирма одна, то лучше на одном иделать. Вы может не учитывайте факты по раскрутке сайта, о том, что дубликаты очень плохо влияют на рестинг сайта.
Легальные шаблоны и дёшево!  + скидки до 50% для шаблонов клуба Joomlart, RocketTheme, Yootheme и Gavick.

при интересе пишите в личку или на мыло: "p" точка "d" собака gmx.de
*

Vladlen

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
Re: два сайта на одной базе
« Ответ #7 : 21.09.2009, 22:42:47 »
А лучше вместо
Код
RewriteRule ^(.*)$ http://1site.com/$1 [R]
написать
Код
RewriteRule ^(.*)$ http://1site.com/$1 [R,P]
Так, никто не узнает, что изображения грузятся с другого сайта.  ^-^
просто когдя я прописываю - то пишет вот это:
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
*

wounderer

  • Захожу иногда
  • 80
  • 3 / 0
Re: два сайта на одной базе
« Ответ #8 : 23.10.2009, 13:44:06 »
А мне вот надо создать адсолютно отличающийся сайт, но использующий БД предыдущего.
Грубо говоря хочу сделать легкую версию интернет-магазина на домене третьего уровня.
Виртумарт, установленный на Сайте2 создает свои собственные таблицы, добавляя к названию префикс Joomla с сайта2...
Как заставить только VirtueMart на сайте2 использовать таблицы VirtueMart с сайта1

П.С. MySQL База данных и пользователь один для обоих сайтов.. Вся проблема только в префиксе Joomla с Сайта2...
Подскажите!
*

delphine

  • Захожу иногда
  • 189
  • 30 / 0
Re: два сайта на одной базе
« Ответ #9 : 23.10.2009, 15:24:41 »
.
« Последнее редактирование: 23.10.2009, 15:41:45 от delphine »
Не дружу с дизайном.
Приветствуются обмен ссылками или
Z879646195991 | R637245146155 | E222695044531 | U162157337447 | Y381916949633 | B493612164919 | Я.Деньги 41001254998875
*

delphine

  • Захожу иногда
  • 189
  • 30 / 0
Re: два сайта на одной базе
« Ответ #10 : 23.10.2009, 15:36:32 »
.
« Последнее редактирование: 23.10.2009, 15:41:54 от delphine »
Не дружу с дизайном.
Приветствуются обмен ссылками или
Z879646195991 | R637245146155 | E222695044531 | U162157337447 | Y381916949633 | B493612164919 | Я.Деньги 41001254998875
*

wounderer

  • Захожу иногда
  • 80
  • 3 / 0
Re: два сайта на одной базе
« Ответ #11 : 23.10.2009, 15:46:03 »
Подскажите пожалуйста!
Как прописать в .htaccess, чтобы "components/com_virtuemart/images/" заменялось на "http://sitename.ru/components/com_virtuemart/images/" ??
*

wounderer

  • Захожу иногда
  • 80
  • 3 / 0
Re: два сайта на одной базе
« Ответ #12 : 23.10.2009, 16:03:06 »
С базой кстати разобрался, просто заменил в виртумарте везде где было #__ на нужный префикс, и все заработало )
Осталось с картинками разобраться )
*

wounderer

  • Захожу иногда
  • 80
  • 3 / 0
Re: два сайта на одной базе
« Ответ #13 : 26.10.2009, 10:58:47 »
Уважаемые, подскажите!

Практически во всем разобрался, одного не могу понять..
Изображения категорий грузятся, product_full_image грузятся, даже product_thumb_image грузятся нормально, но только на странице подробного описания товара. А вот в списке товаров (в категории) не хочет ни в какую отображаться product_thumb_image ! В чем может быть проблема ?
*

mstr

  • Захожу иногда
  • 62
  • 1 / 0
Re: два сайта на одной базе
« Ответ #14 : 29.09.2011, 20:04:30 »
С базой кстати разобрался, просто заменил в виртумарте везде где было #__ на нужный префикс, и все заработало )
Осталось с картинками разобраться )
Я правильно понимаю? У ваших сайтов разные базы, но витруемарт второго берёт товары из первого? Можно поподробнее, как такое реализовать?
Тоже бьюсь с лёгкой версией магазина на другом шаблоне.
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: два сайта на одной базе
« Ответ #15 : 29.09.2011, 20:25:06 »
Блин, народ... два одинаковых сайта.. а про индексацию никто не думает? Вы хоть домены склеили или нет?
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

MichaelW

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: два сайта на одной базе
« Ответ #16 : 07.10.2011, 15:45:54 »
Можно сделать чтобы второй сайт был копией первого, но с другим шаблоном, Для этого в корне второго сайта в  .htaccess нужно прописать правило что папки administrator components images includes language libraries media и т.д. КРОМЕ templates нужно брать не с этого домена а с другого. если сайты на одном хостинге, то для этих папок нужно прописать абсолютный путь, который соответствует первому сайту. Т.е. открывая второй сайт все файлы кроме файлов шаблона будут грузится с первого сайта.
В написании правил для .htaccess я не силён. Если кто подскажет правильный синтаксис для такого правила буду очень благодарен
*

mstr

  • Захожу иногда
  • 62
  • 1 / 0
Re: два сайта на одной базе
« Ответ #17 : 08.10.2011, 18:56:32 »
А что-то из этого никто не пробовал?
http://extensions.joomla.org/extensions/core-enhancements/multiple-sites
*

mstr

  • Захожу иногда
  • 62
  • 1 / 0
Re: два сайта на одной базе
« Ответ #18 : 10.10.2011, 09:36:05 »
А что-то из этого никто не пробовал?
http://extensions.joomla.org/extensions/core-enhancements/multiple-sites

В общем вот мой отчёт о проделанной работе  8)
реализовал типа мобильную версию магазина на поддомене с помощью Virtual Domains
http://extensions.joomla.org/extensions/core-enhancements/multiple-sites/7557

Всё отлично работает. На поддомене другой шаблон, ненужные модули отключил с помощью вот этого
http://extensions.joomla.org/extensions/access-a-security/modules-management/10307 привязавшись к шаблону.
Пока косяков не замечено. *DRINK*

так же пробовал заюзать Multi Sites
http://extensions.joomla.org/extensions/core-enhancements/multiple-sites/5550
но толи нагуглил старую, толи как-то криво нуленую, в общем оно у меня не встало.

Теперь думаю, как в виртуемарте задать другой флайпэйдж чтоб вместо покупки перебрасывало на основной сайт. Кто придумает, поделитесь мыслями. ^-^
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: два сайта на одной базе
« Ответ #19 : 10.10.2011, 09:59:06 »
Тоже бьюсь с лёгкой версией магазина на другом шаблоне.
Вам не нужен второй сайт. Вам нужно просто для мобильных устройств сделать свой шаблон на том же сайте. Почитайте вот здесь.

http://joomlablog.ru/prijomy-poleznye-tryuki
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

mstr

  • Захожу иногда
  • 62
  • 1 / 0
Re: два сайта на одной базе
« Ответ #20 : 10.10.2011, 10:16:05 »
Вам не нужен второй сайт. Вам нужно просто для мобильных устройств сделать свой шаблон на том же сайте. Почитайте вот здесь.

http://joomlablog.ru/prijomy-poleznye-tryuki
Спасибо.
Во первых, я не говорил, что мне нужен именно "мобильный сайт", мне нужен лёгкий сайт.
Во вторых штука которую вы показали безусловно полезная, обязательно пригодится, но как она работает с магазином? Ничего про это не нашёл ни на их сайте, ни на форуме
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: два сайта на одной базе
« Ответ #21 : 10.10.2011, 10:22:19 »
Во первых, я не говорил, что мне нужен именно "мобильный сайт", мне нужен лёгкий сайт.

Тогда давайте уточнимся: Вам нужен легкий сайт для.... продолжить. И если Вы хотите легкий сайт - зачем Вам две версии - легкий и тяжелый?  Непонятно. Если сможете объяснить - можно будет дать конкретные советы.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

mstr

  • Захожу иногда
  • 62
  • 1 / 0
Re: два сайта на одной базе
« Ответ #22 : 10.10.2011, 10:33:29 »
Тогда давайте уточнимся: Вам нужен легкий сайт для.... продолжить. И если Вы хотите легкий сайт - зачем Вам две версии - легкий и тяжелый?  Непонятно. Если сможете объяснить - можно будет дать конкретные советы.
Всё-то вам расскажи. Лёгкий сайт нужен для iFrame. Он будет показывать только несколько каруселей с товарами, баннеры и спецпредложения. Советы ваши мне собственно не нужны. У меня уже всё получилось. Я наоборот с народом делюсь.
Есть вполне конкретный вопрос: Как на поддомене, реализованном с помощью Virtual Domains,  задать другой флайпэйдж в VirtueMart?
Но это уже, видимо, не в эту тему ;)
« Последнее редактирование: 10.10.2011, 10:45:37 от mstr »
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: два сайта на одной базе
« Ответ #23 : 10.10.2011, 10:47:18 »
Советы ваши мне собственно не нужны.

Красивая фраза. Постараюсь на будущее запомнить, что Вам не нужны мои советы. Спс за инфу.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Arsik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Re: два сайта на одной базе
« Ответ #24 : 14.10.2012, 10:17:31 »
Уважаемые, подскажите!

Практически во всем разобрался, одного не могу понять..
Изображения категорий грузятся, product_full_image грузятся, даже product_thumb_image грузятся нормально, но только на странице подробного описания товара. А вот в списке товаров (в категории) не хочет ни в какую отображаться product_thumb_image ! В чем может быть проблема ?

Есть решение как отображать картинки в в списке товаров (в категории)?
*

Arsik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Re: два сайта на одной базе
« Ответ #25 : 17.10.2012, 22:24:08 »
решение:

заходим в
administrator/components/com_virtuemart/html/shop.browse.php

(335 строка)
Код
$product_thumb_image = $mosConfig_live_site."/components/com_virtuemart/show_image_in_imgtag.php?filename=".urlencode($product_thumb_image)."&newxsize=".PSHOP_IMG_WIDTH."&newysize=".PSHOP_IMG_HEIGHT."&fileout=";
заменяем на
Код
$product_thumb_image = "http://site2.ru"."/components/com_virtuemart/shop_image/product/".$product_thumb_image."";

где "http://site2.ru" адрес сайта с которого будут грузиться картинки
« Последнее редактирование: 17.10.2012, 22:27:29 от Arsik »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Редактирование товара с сайта а не из админки?

Автор rabotnita

Ответов: 6
Просмотров: 4631
Последний ответ 04.02.2019, 13:33:40
от pH43
Не совпадает цена в базе и цена товара на сайте

Автор nelly-ololo

Ответов: 0
Просмотров: 1158
Последний ответ 08.02.2014, 00:47:15
от nelly-ololo
Две цены на одной странице товара

Автор bag667

Ответов: 9
Просмотров: 1511
Последний ответ 12.12.2013, 17:46:47
от bag667
Вывод товаров определенного производителя из одной категории

Автор dron

Ответов: 3
Просмотров: 1822
Последний ответ 13.04.2013, 16:42:32
от robert
Модуль Random product. Как сделать выбор товаров в модуль из нескольких категорий, а не из одной

Автор Stich SPb

Ответов: 1
Просмотров: 1473
Последний ответ 10.02.2013, 05:09:21
от Stich SPb