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

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
Если что-то конкретно ТЕБЯ не устраивает и конкретно ТЕБЕ не подходит, то это он конкретно ТЕБЕ бесполезен. Не нравиться - не ешь.

На 6000 товаров типы у меня формирует 1С xls файл, который сохраняется потом в CSV из OpenOffice. Тебе не надо выгружать и править. Тебе надо заливать новый прайс каждый раз, который изменит нужное на сайте.

Joomla 1.0.x и всё с ней связанное было так давно, что я уже всё забыл. Старые версии CSVI могли быть и для старой верии Joomla.
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

Czardas212

  • Новичок
  • 4
  • 0 / 0
Здравствйте. Такой вопрос. У меня в названии категорий есть символ "/" избежать использования которого не получается. Соответственно, VirtueMart создает не категорию Тыртыр/Рытрыт, а категорию Тыртыр с подкатегорией Рытрыт. Как бы это победить?
*

Romashka

  • Захожу иногда
  • 117
  • 1 / 0
удалено.
« Последнее редактирование: 28.08.2010, 23:04:12 от Romashka »

IVS будте добры раскажите как вы прикрутили его к жумле 1.5
*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
Gruz ну если что, то дам на проверку

Дай!
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

refrizherator

  • Захожу иногда
  • 60
  • 1 / 0
Мозги форума! Призываю вас! www.edp.dp.ua экспортировал файл на комп через свой шаблон, экспортировалось с ценами и тому подобное, после добавил для тестирования одну позицию и сделал импорт. Результат все цены - нули! Подскажите, какие поля трогать? Какие шаблоны? Что вообще произошло блин?

Посмотрите на сайт, чтобы вам было понятнее как организован магазин. Имеется родительский товар и своства родительского товара. Если у родительского товара не стоит цена, то кнопка купить не появляется...
VM 1.1.5  Joomla 1.5.21  csv 1.9
*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
У цены может надо при импорте точку, а была запятаю, или наоборот? Это так. наобум предположение.
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

refrizherator

  • Захожу иногда
  • 60
  • 1 / 0
Спасибо "+" в студию )  Предыдущую проблему решил, всё было из-за цены через точку (20.00 USD)!  Но как тогда сделать, чтобы в экспортируемом файле цена была через запятую, а не через точку, мне нужно периодически его корректировать и поэтому для импорта придется менять каждую цену товара (с 20.00  на 20,00) представляете сколько товара в парфюмерии! К тому же не опэн офис не эксель не делает арифметических операций с дробными числами через точку, они считают, что это толи текст толи нуль, но выходит нуль или ошибка... Как вы с этим справляетесь, подскажите?
*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
Уверен, что ОО можно научить понимать точку, как разделитель целой и дробной части. В крайнем случае в ОО выделить колонку и сделать автозамену.

Чем делаешь экспорт - мне не ведомо. Потому предположений делать не могу особых.
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

refrizherator

  • Захожу иногда
  • 60
  • 1 / 0
csv improved 1.9  Подскажите хоть в каком меню, вкладке или смысл как в ОО сделать автозамену или заставить понимать его точку как разделитель целой и дробной части?
*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

refrizherator

  • Захожу иногда
  • 60
  • 1 / 0
ВСЁ РЕШЕНО! Спасибо Gruz за помощь! Для того чтобы в экспортируемом файле цены были с разделителем запятая нужно:

в файле administrator/components/com_csvimproved/models/productexport.php

Орієнтовно 404 лінія:
$contents .= $this->_exportmodel->AddExportField($product_price, $fieldname, $field->column_header);

Перед ней вставить это:

$product_price = preg_replace ('/\./Ui',',',$product_price);//##my201011180013 Replace dot with comma in price output

И всё наладится! Это даст возможность проводить арифметические действия с ценами и полноценно использовать Exel, OpenOffice


*

koshi

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
нашел силы написать статью (http://storeupdatebooster.blogspot.com/2010/11/virtuemart.html) с обзором на методы импорта товаров. Интересно знать ваше мнение  !
« Последнее редактирование: 22.11.2010, 13:57:43 от koshi »
*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
Если я ошибаюсь, то наперёд прошу прощения. Но моё мнение таково, что ты просто рекламируешь storeupdatebooster. Но вместо того, чтобы сказать прямо, говоришь от имени вроде как независимого пользователя. И этот обман меня лично злит. Ибо интересует не узнать наше мнение, а впарить софтину.
Ещё Святослав Храбрый говорил: "Не гоже доброе дело с мерзости начинать".
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

koshi

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Скажи, добрый человек, где ж это видано, что бы русскому человеку можно было что-то впарить? Обычно все воруется до впаривания$. И как интерес узнать мнение на статью превратился в рекламу? По-моему, я вас видел на каком-то вокзале, если это не так, то я сам себя извиняю
Да, и спасибо за Ваше мнение)
« Последнее редактирование: 21.11.2010, 13:23:45 от koshi »
*

mrhuge

  • Захожу иногда
  • 222
  • 7 / 0
  • http://muzalliance.ru/
Gruz тебе с IVS не удалось не удалось под Joomla 1.5 доработать прогу? Привлекает фраза "Защита от медленных хостингов" ))

А то CSV improved на хостинге spaceweb благополучно подвешивает сервак даже при импорте 100 товаров, потому как у них вшито max_execution_time = 10 и хоть тресни.
*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
Не понял вопроса.
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

mrhuge

  • Захожу иногда
  • 222
  • 7 / 0
  • http://muzalliance.ru/
Не разобрались как запустить прогу под Joomla 1.5?
*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
Нет. Тот деятель, который в теме писал, что мол сделал, может поделиться - молчит. А у меня руки не доходят, ибо особой надобности нет.
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

mrhuge

  • Захожу иногда
  • 222
  • 7 / 0
  • http://muzalliance.ru/
Жаль ) а то я уже все проги перепробовал:

csv improved
simplecsv
myimport

Все сносят крышу у хостинга. Заливка в несколько коротких итераций, например по 70 товаров, которую позволяет делать эта прога, как раз бы то что мне нужно. Может можно как то например в csv improved эт итерации сделать?
*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
Да я несколько раз садился за эту задачу, но не силён с аяксом. Если бы найти простой и понятный пример, как сделать аяксовое исполнение операции под Joomla, то сделал бы. Пытался разобраться, как akeebabackup организован, но он очень крутой. А мне именно базиса для этого не хватает.
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

mrhuge

  • Захожу иногда
  • 222
  • 7 / 0
  • http://muzalliance.ru/
Взгляни, может это аяксовое расширение что-то даст?

http://extensions.joomla.org/extensions/extension-specific/virtuemart-extensions/virtuemart-import/4263

Позволяет как раз аяксом обновлять Вирт.
*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
Да я им пользуюсь. Но во внутренности не заглядывал. Спасибо за идею, надо произвести будет вскрытие.

Эх, нарисовался бы клиент, которому надо подобное, оно бы и сделалось. А так, на доброй воле годами до этого не могу добраться.
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

mrhuge

  • Захожу иногда
  • 222
  • 7 / 0
  • http://muzalliance.ru/
Да я им пользуюсь. Но во внутренности не заглядывал. Спасибо за идею, надо произвести будет вскрытие.

Эх, нарисовался бы клиент, которому надо подобное, оно бы и сделалось. А так, на доброй воле годами до этого не могу добраться.

За идею пожалуйста )) Было бы прикольно, если бы клиент нарисовался - заплатил бы тебе, а ты бы тут выложил результаты ))

Я сейчас собираюсь тестировать CSVI версию 2.3 - мол в ней пишут, что можно прайс частями заливать. Попробуемс.
*

mrhuge

  • Захожу иногда
  • 222
  • 7 / 0
  • http://muzalliance.ru/
Gruz, я списался с IVS, получил от него инструкции, как сделать хаки. Сделал. Но вылетает злополучный Direct Access to this location is not allowed.

См.: http://eva72.ru/administrator/index2.php?option=com_virtuemart&page=admin.simple_csv_install

И кодировочные кракозябры.

Это я пытаюсь заинсталлить по инструкции.

Чего делать с этим директ локейшеном? Как сделать чтобы дал запустить скрипт инсталляции? Как запустим - потом тут все инструкции выложу подробно!
« Последнее редактирование: 22.11.2010, 20:29:08 от mrhuge »
*

mrhuge

  • Захожу иногда
  • 222
  • 7 / 0
  • http://muzalliance.ru/
Не додумался я чего-то воспользоваться поиском на форуме.

В общем победил я этот директ алокейшн ))

Надо активировать плагин Legacy mode.

Начинаю тестировать прогу!
*

mrhuge

  • Захожу иногда
  • 222
  • 7 / 0
  • http://muzalliance.ru/
Ну что, можно меня уже частично поздравить! Удалось прогу запустить под Joomla 1.5, настроить прайсы и сделать импорт 1000 товаров на супер-медленном хостинге! Просто магия какаято )))

Остается только единственная проблема с кодировкой: всё в знаках вопроса, также как и товары. Сейчас будем разбираться.
*

mrhuge

  • Захожу иногда
  • 222
  • 7 / 0
  • http://muzalliance.ru/
Пыхтим. IVS дорабатывает модуль загрузки - молодец парень. Уже почти всё получилось: модуль работает на Joomla 1.5 без legacy, только пока товары разбрасывает по категориям как ему хочется и полные описания не загружаются. Но надеюсь поправим.
« Последнее редактирование: 24.11.2010, 22:03:49 от mrhuge »
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
mrhuge ждёмс =)
*

Тимур

  • Захожу иногда
  • 52
  • 1 / 0
какая на данный момент самая последняя и самая рабочая версия компонента?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Хак] Ускорение загрузки магазина (минимум в 10 раз)

Автор ifx

Ответов: 66
Просмотров: 40751
Последний ответ 15.01.2020, 10:38:34
от ChaosHead
Модификация поиска

Автор Александр216

Ответов: 7
Просмотров: 1608
Последний ответ 19.03.2013, 23:54:51
от Александр216
Расширяний вид админки через сайт

Автор ranaza

Ответов: 1
Просмотров: 1341
Последний ответ 25.08.2012, 11:50:30
от ranaza
Модификация browse_listtable.tpl.php

Автор Servelatin

Ответов: 0
Просмотров: 1337
Последний ответ 15.05.2012, 16:23:23
от Servelatin
Без оплаты через сайт, наличными при получении

Автор doroshenkok

Ответов: 0
Просмотров: 1473
Последний ответ 13.03.2012, 10:29:48
от doroshenkok