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

Marygold

  • Захожу иногда
  • 56
  • 1 / 0
Скачала полный набор VirtueMart_1.1.5-COMPLETE_PACKAGE.j15.zip
Все замечательно установилось.
Русифицировала.
В админке компонент работает корректно.

Опубликовала в главном меню, создала пункт "магазин" (shop)

По ссылке http://имя_домена/shop
открывается белая страница вверху кусочек текста п»їп»ї

в исходном коде страницы
Код
п»їп»ї<div id="vmMainPage">

и все, тишина...

Порылась в нете, нашла 1 похожее упоминание, но решения проблемы там нет.

Подскажите, в чем может быть дело.

(При публикации в меню в расширенных настройках ничего не меняла, оставила все поля пустыми по умолчанию, адрес сайта http://2010.td-ama.ru/)



*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

Marygold

  • Захожу иногда
  • 56
  • 1 / 0
Про BOM даже я знаю)
Только обычно я сталкиваюсь с ним, когда отображается неправильная кодировка при сохранении файла, тогда пересохранаю в UTF-8 без bom и все отображется корректно.

А тут то какие файлы нужно проверять?
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Про BOM даже я знаю)
Только обычно я сталкиваюсь с ним, когда отображается неправильная кодировка при сохранении файла, тогда пересохранаю в UTF-8 без bom и все отображется корректно.

А тут то какие файлы нужно проверять?
Ну я ж не провидец.. Запустить тоталом поиск по сайту и отыскать виновника
*

Marygold

  • Захожу иногда
  • 56
  • 1 / 0
Ну если не провидец, то Воладн, как минимум.

Кстати, магазин, оказывается, работает, точнее его категория: тыц
не работает сама ссылка на корень магазина http://2010.td-ama.ru/shop

Вы уверены, что мне надо искать файлы в неправильной кодировке и пересохранение их в правильной поможет?
*

adjuster

  • Давно я тут
  • 786
  • 55 / 2
Это что за ссылка?
http://2010.td-ama.ru/index.php?page=com_virtuemart#ja-content

Может быть дело в самой ссылке в меню?
*

Marygold

  • Захожу иногда
  • 56
  • 1 / 0
adjuster, а где вы взяли эту ссылку? (http://2010.td-ama.ru/index.php?page=com_virtuemart#ja-content)

У меня не работает ссылка на компонент, опубликованная в верхнем меню:
Главная - Новости - Typography - Shop
*

adjuster

  • Давно я тут
  • 786
  • 55 / 2
Я ее через анализатор ссылок получил  - у меня в Firefox стоит Web developer (плагин) - в нем есть анализ ссылок.
*

Marygold

  • Захожу иногда
  • 56
  • 1 / 0
Сыылка там стоит http://2010.td-ama.ru/index.php?option=com_virtuemart


В общем часть ссылок не работает..

Например страница категории открывается:
http://2010.td-ama.ru/index.php?option=com_virtuemart&page=shop.browse&category_id=11&Itemid=80


А подробное описание - нет, опять белая страница!


http://2010.td-ama.ru/index.php?page=shop.product_details&flypage=flypage.tpl&product_id=17&category_id=11&option=com_virtuemart&Itemid=80
*

Marygold

  • Захожу иногда
  • 56
  • 1 / 0
Все файлы компонента com_virtuemart преобразовала в utf-8 без bom сохранила и перезалила, ошибка не исчезла, по-прежнему белая страница и п»їп»ї
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
сайт/administrator/components/com_virtuemart/virtuemart.cfg.php тоже?
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

Marygold

  • Захожу иногда
  • 56
  • 1 / 0
Нет, но в админке у меня все работет, во фронт-енде некоторые не открываются. Потому в папку administrator/components не полезла.

Ок, сейчас сделаю и тот файл, о котором вы говорите.
*

Marygold

  • Захожу иногда
  • 56
  • 1 / 0
Может ли дело быть в хостинге? Почему я одна (ну и еще пара человек) с такой ошибкой?
Обычно, если что-то не работает - на форумах всегда есть ответ, потому что это случалось уже у многих.
*

Marygold

  • Захожу иногда
  • 56
  • 1 / 0
Переконвертировала все, что возможно с помощью программки Convert2UTF8

Теперь белая страница уже с таким текстом:

Код
п»їп»їп»їп»їп»їп»їп»їп»їп»їп»їп»їп»їп»їп»їп»їп»ї
п»їп»ї

Давайте ка я лучше переустановлю компонент и поставлю другую версию, какую посоветуете?
*

Marygold

  • Захожу иногда
  • 56
  • 1 / 0
так, ребят, дело все таки в хостинге.

Этот сайт хостится на nic.ru

Япоставила ту же версию VirtueMart на сайт http://kuznetsovaastro.ru/shop и все работает отлично (хостинг leaderhost.ru)
*

adjuster

  • Давно я тут
  • 786
  • 55 / 2
Этот сайт хостится на nic.ru
С Nic.ru дел не имел = может стоит в тех. поддержку позвонить? Что скажут? - они вроде с Joomla дружат.
*

Marygold

  • Захожу иногда
  • 56
  • 1 / 0
Я с ними общалась еще когда ставила сайт, они даже не могли сказать какой путь к корню сайта указывать в настройках FTP (там система наподобие как у masterhost, когда файлы лежат в папке docs, я же привыкла к тому. что все лежит в каталогах по-человечески, как на leaderhost). Так вот поддержка в этом вопросе сказала: спрашивайте на специализированный форумах, а от нас отвалите.
"Дружат" с Joomla они, как я поняла, весьма посредственно. Предлагают установку из личного кабинета версии 1.0 (еще неизвестно какую сборку) и это скорее рекламных ход, нежели реальная помощь пользователям.
В общем не особо я впечатлена хостингом nic.ru, работать можно, но всплывают разные неприятные моменты, вроде этого с vituemart.
*

adjuster

  • Давно я тут
  • 786
  • 55 / 2
От меня плюс за исчерпывающую инфу.
Только про мастерхост малость неправильно - тоже не конфетка, но жить можно.
*

Marygold

  • Захожу иногда
  • 56
  • 1 / 0
Можно, у меня на мастерхосте работают до сих пор 3 сайта на 1.0 и 1 на 1.5

Но все равно, даже не смотр на то, что у них выложена специальная инструкция и к ней скрипт, чтобы изменить права в папках (а проще сделай самому через ssh), все равно все это через 1 место.

В саппорт nic.ru кстати все таки написала, клиент нервничает, оплатил до мая 2011 хостинг...
*

Marygold

  • Захожу иногда
  • 56
  • 1 / 0
О-ла-ла!
Заработало!

Помогли на форуме http://joomla-support.ru/

Надо было переключить конфигурацию PHP (по умолчанию использовалась версия 4.4.9) на  PHP5.1.6.
*

Marygold

  • Захожу иногда
  • 56
  • 1 / 0
Рано я радовалась.

Появились еще проблемы.
Все страницы магазина работают, но:

1. В администрировании изменился внешний вид страниц, "вкладки" не работают, все идет на одной странице друг под другом

Например в "Настройки" вкладки
- Общие настройки
- Цена
- Возможности магазина
- Регистрация пользователей
- Дополнительные настройки
- Настройки log-файла

были вкладками, а теперь выводятся все сразу

Тоже самое на странице добавления товара или категории, все вкладки друг под другом.

Верхнее меню "добавить" не работает (кнопки не работют), только меню слева работает.

А оно теперь жутко неудобное, ведь оно постоянно развернуто.

О-ла-ла!
Заработало!

Помогли на форуме http://joomla-support.ru/

Надо было переключить конфигурацию PHP (по умолчанию использовалась версия 4.4.9) на  PHP5.1.6.
+1
Была этаже проблема с vm1.1.6 на NIC.RU, действительно помогло переключение на PHP5.1.6.
Админка пока не глючит, параллельно на этом же хостинге работает vm1.0, полет нормальный!
*

Marygold

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

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

Автор andrey488

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

Автор Tell

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

Автор inka

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

Автор smogrom

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

Автор Koriolan

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