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

Chebyrek

  • Захожу иногда
  • 162
  • 1 / 0
Re: Русский языковой файл для VirtueMart
« Ответ #150 : 11.10.2011, 18:07:09 »
Попробуйте добавить в .htaccess строку: AddDefaultCharset utf-8
Если я правильно понял, мне необходимо в файле htaccess.txt который находится в главной папке Joomla в конце добавить строку AddDefaultCharset utf-8
То это к сожалению не помогло! :(
*

Chebyrek

  • Захожу иногда
  • 162
  • 1 / 0
Re: Русский языковой файл для VirtueMart
« Ответ #151 : 11.10.2011, 18:42:47 »
Только что ради интереса установил Joomla 1.5.12 + VirtueMart 1.1.3 это всё дело я взял с диска Александра Куртеева "создание интернет маг."
установил Joomla потом VirtueMart потом русифицировал и всё окей! Никаких косяков!
Странно как-то, не пойму в чем косяк?
p.s. Я бы оставил эту версию и движка и компонента! НО ! хочется ставить, так обновленные версии. ;)
Чё делать? Почему косяк такой получается?
*

Chebyrek

  • Захожу иногда
  • 162
  • 1 / 0
Re: Русский языковой файл для VirtueMart
« Ответ #152 : 15.10.2011, 15:03:14 »
Народ пожалуйста помогите! Дайте совет! Сижу смотрю на установленный VirtueMart и не знаю чё мне делать! >:(
Спасибо.
*

Chebyrek

  • Захожу иногда
  • 162
  • 1 / 0
Re: Русский языковой файл для VirtueMart
« Ответ #153 : 16.10.2011, 01:25:04 »
Слава богу! Я разобрался! :D
Перерыл не один форум!
Нашел в интернете на вот этом блоге
Архив с множеством языков для VirtueMart 1.1.9
Может кому и понадобится!
Пользуйтесь! ;)

Зы... хотел добавить сам архив, но он больше 512kb так что смотрите по ссылке сами!

p.s. И всё-таки интересно в чём был косяк? Я проверял каждый файл? везде была кодировка utf-8 ! :P

Вот так! ^-^
*

DeFt

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Русский языковой файл для VirtueMart
« Ответ #154 : 17.10.2011, 07:05:57 »
Если я правильно понял, мне необходимо в файле htaccess.txt который находится в главной папке Joomla в конце добавить строку AddDefaultCharset utf-8
То это к сожалению не помогло! :(
Еще этот файл на хостинге надо переименовать в .htaccess (без расширения)
*

wolf34

  • Захожу иногда
  • 127
  • 0 / 0
Re: Русский языковой файл для VirtueMart
« Ответ #155 : 07.11.2011, 19:51:38 »
Здравствуйте. У меня переводит "my account" как моя аккаунт, как заменить?
*

uralmas

  • Захожу иногда
  • 228
  • 25 / 0
Re: Русский языковой файл для VirtueMart
« Ответ #156 : 07.11.2011, 20:40:24 »
Выделяешь моя аккаунт, делаешь поиск в файлах в папке administrator/components/com_virtuemart/languages
*

wolf34

  • Захожу иногда
  • 127
  • 0 / 0
Re: Русский языковой файл для VirtueMart
« Ответ #157 : 07.11.2011, 23:26:11 »
пробовал, не находит....
*

uralmas

  • Захожу иногда
  • 228
  • 25 / 0
Re: Русский языковой файл для VirtueMart
« Ответ #158 : 08.11.2011, 08:27:00 »
Тогда по всему сайту
*

medlavka

  • Новичок
  • 9
  • 0 / 0
  • Жужжу!
Re: Русский языковой файл для VirtueMart
« Ответ #159 : 15.02.2012, 16:56:39 »
Что с этим делать? и где?
*

uralmas

  • Захожу иногда
  • 228
  • 25 / 0
Re: Русский языковой файл для VirtueMart
« Ответ #160 : 15.02.2012, 17:54:39 »
Этих констант нет в языковых файлах - это возможно, какое-нибудь расширение, не имеющее ничего с основыми языковыми файлами
*

Mastak

  • Новичок
  • 1
  • 0 / 0
Re: Русский языковой файл для VirtueMart
« Ответ #161 : 28.06.2013, 01:34:29 »
при русификации языковых панелей сайта в Joomla, появляются ошибки в VirtueMart
Ошибки появляются сразу после выбора русского языка в менеджере языков ...
подскажите в чём может быть проблема?

vmError: exeSortSearchListQuery Table 'masterprint.kqe62_virtuemart_products_ru_ru' doesn't exist SQL=SELECT SQL_CALC_FOUND_ROWS l.`virtuemart_product_id` FROM `kqe62_virtuemart_products_ru_ru` as l JOIN `kqe62_virtuemart_products` AS p using (`virtuemart_product_id`) group by p.`virtuemart_product_id` ORDER BY product_name DESC LIMIT 0, 10
vmError: exeSortSearchListQuery Table 'masterprint.kqe62_virtuemart_categories_ru_ru' doesn't exist SQL=SELECT c.`virtuemart_category_id`, l.`category_description`, l.`category_name`, c.`ordering`, c.`published`, cx.`category_child_id`, cx.`category_parent_id`, c.`shared` FROM `kqe62_virtuemart_categories_ru_ru` l JOIN `kqe62_virtuemart_categories` AS c using (`virtuemart_category_id`) LEFT JOIN `kqe62_virtuemart_category_categories` AS cx ON l.`virtuemart_category_id` = cx.`category_child_id` WHERE cx.`category_parent_id` = 0 ORDER BY category_name ASC
*

uralmas

  • Захожу иногда
  • 228
  • 25 / 0
Re: Русский языковой файл для VirtueMart
« Ответ #162 : 29.06.2013, 08:40:41 »
Вы обратились по вопросу VM2 в ветку VM1. В следующий раз задавайте вопрос в нужном месте.
Скорее всего вы сначала устанавили VM, а потом включили русский язык? Если так, то VM при установке создаёт таблицы согласно главному языку Joomla. Надо в меню выбрать Инструменты - Инструменты и миграция. Там нажать "Установить таблицы или обновить их". Если не поможет, обратитесь в соответствующий раздел.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Активный пункт mainmenu для категории VirtueMart

Автор sashgera

Ответов: 11
Просмотров: 3378
Последний ответ 13.08.2020, 16:43:22
от sivers
Как вставить в середину статьи на странице категорию товара магазина Virtuemart 1.1.2

Автор malalex

Ответов: 7
Просмотров: 9691
Последний ответ 24.08.2015, 01:01:23
от trubiser
Мануал по VirtueMart на русском

Автор Magam

Ответов: 9
Просмотров: 21281
Последний ответ 30.01.2013, 12:24:50
от Diviz
Решение проблем с кириллицей в Virtuemart 1.1.x

Автор nikonor

Ответов: 86
Просмотров: 64224
Последний ответ 12.12.2012, 19:02:53
от gelx
«Облако Тегов» для VirtueMart

Автор Adeptus

Ответов: 26
Просмотров: 30693
Последний ответ 21.01.2012, 19:18:12
от switch