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

sairus

  • Новичок
  • 1
  • 0 / 0
простите, при добавлении используется simpleXML? Не могу понять как теги "a" первого уровня "обернуть" в дивы
« Последнее редактирование: 13.12.2010, 16:21:15 от sairus »
*

parfilov

  • Осваиваюсь на форуме
  • 31
  • 2 / 0
Есть две потребности при использовании accordeon:

1) Сделать каждый пункт с уникальным классом. Например так
Код
<ul>
<li class="01"></li>
<li class="02"></li>
</ul>
Кто-то спрашивал уже, но его отослали курить mootols.php Я в нем разницу с accordeon только в формировании дерева заметил. Больше ничего по этой теме не нашел. Как сделать?
И вместе с этим.
2) Тоже искал (по запросам клик, mouseover) но безрезультатно. Как расрывать и скрывать список по клику мышью? То есть, если есть подкатегории, то раскрывалка и все (не ссылка), а если нет подкатегорий, то ссылка  на browse

Благодарю!
*

parfilov

  • Осваиваюсь на форуме
  • 31
  • 2 / 0
*

seda

  • Новичок
  • 7
  • 0 / 0
Нашел другой. Отписал здесь http://joomlaforum.ru/index.php/topic,66249.msg778245.html#msg778245
А темы оформления у тебя случайно нет? Или пример как сделать собственные темы для этого модуля?
*

parfilov

  • Осваиваюсь на форуме
  • 31
  • 2 / 0
А темы оформления у тебя случайно нет? Или пример как сделать собственные темы для этого модуля?

Не, темы не покупал. Я еще сам не успел темизировать. Сегодня/завтра буду прописыват стили. Расскажу потом как.
А вообще, там док есть, на английском. Пробежался глазами, нужно править стили самого модуля и будет счастье.
*

A.Nitro

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Не, темы не покупал. Я еще сам не успел темизировать. Сегодня/завтра буду прописыват стили. Расскажу потом как.
А вообще, там док есть, на английском. Пробежался глазами, нужно править стили самого модуля и будет счастье.

Модуль тоже реально крутой! притом тоже не походу использует один запрос(если не ставить показывать количество товаров в категориях)
Осталось разобраться со стилями! Афтору респект

PS только в эксплоере беда полная! сайт вообще не открывается:(
« Последнее редактирование: 21.12.2010, 11:13:21 от A.Nitro »
*

parfilov

  • Осваиваюсь на форуме
  • 31
  • 2 / 0
Модуль тоже реально крутой! притом тоже не походу использует один запрос(если не ставить показывать количество товаров в категориях)
Осталось разобраться со стилями! Афтору респект

PS только в эксплоере беда полная! сайт вообще не открывается:(


Я на линуксе. В IE вообще ни в каком не смотрел. Доделаю магазин, загружу винду, гляну.
*

DaVinchy

  • Захожу иногда
  • 326
  • 42 / 3
Народ, подскажите (а лучше покажите  ^-^) плз, как можно обрезать первое слово названия категории?
т. е. было "категория категория1" стало "категория1"  ;)
*

parfilov

  • Осваиваюсь на форуме
  • 31
  • 2 / 0
Народ, подскажите (а лучше покажите  ^-^) плз, как можно обрезать первое слово названия категории?
т. е. было "категория категория1" стало "категория1"  ;)
Это ты где такое нашел? В каком модуле?
*

DaVinchy

  • Захожу иногда
  • 326
  • 42 / 3
нигде ;D по-этому и спрашиваю   ^-^
*

DaVinchy

  • Захожу иногда
  • 326
  • 42 / 3
вопрос открыт...   >:(
Цитировать
...как можно обрезать первое слово названия категории?
т. е. было "категория категория1" стало "категория1"
в PHP не силен и метод тыка пока не дал результатов  :(
Но насколько я понял править надо файл mod_virtuemart_categories\classes\categories.php  ^-^
помогите плз   ;)
*

Тимур

  • Захожу иногда
  • 52
  • 1 / 0
При нажатии на категории страница открывается в шаблоне, который стоит по умолчанию. Как можно исправить, чтоб в другом шаблоне открывалось?
*

uralmas

  • Захожу иногда
  • 228
  • 25 / 0
При нажатии на категории страница открывается в шаблоне, который стоит по умолчанию. Как можно исправить, чтоб в другом шаблоне открывалось?
Это возможно только в том случае, если вы создадите меню, в котором будут добавлены все категории, и сделаете шаблон для этого меню свой собственный.
*

Тимур

  • Захожу иногда
  • 52
  • 1 / 0
Помогите пожалуйста! Модуль появляется там где его быть не должно!! Что ни делаю - ничего не помогает! Мне кажется придется вмешиваться в код ((
Если кто знает как справиться с этим, откликнитесь пожалуйста!
*

uralmas

  • Захожу иногда
  • 228
  • 25 / 0
Группа телепатов обитает на соседнем форуме. Объясните что, где и почему, желательно с приложением скриншотов, тогда у обитателей этого форума появится возможность решить вашу проблему.
*

Тимур

  • Захожу иногда
  • 52
  • 1 / 0
вот сайт: http://shina-vsem.ru/index.php?option=com_content&view=article&id=7&Itemid=11
при нажатии на любую из ссылок модуля категорий№1, почему-то появляется и модуль категорий№2 ( нажмите и сами увидите как появится каталог шин). Точно такая же ситуация с каталогом дисков - он появляется при нажатии на любую из ссылок каталога шин, а этого как вы сами понимаете быть ни в коем случае не должно. Прописываю позиции и всевозможные комбинации активности, но ничего не помогает.
*

uralmas

  • Захожу иногда
  • 228
  • 25 / 0
Вам нужно организовать каталог в 2 связанных магазина, либо дописывать условия появления конкретных модулей (указывать id категорий, в которых можно появляться каталогу шин/дисков). Так просто этот вопрос не решается.
*

Тимур

  • Захожу иногда
  • 52
  • 1 / 0
Мне кажется, что вся проблема в используемом шаблоне. То есть: список категорий - в одном шаблоне ( тут все правильно ), а при нажатии на любую из ссылок категории - шаблон изменяется на другой ( вот этого быть не должно ). Может быть сам разработчик подскажет как это исправить? Будьте любезны.
*

uralmas

  • Захожу иногда
  • 228
  • 25 / 0
В настройках модуля посмотрите - там можно указать, на каких страницах использовать данный модуль. Можете его ограничить.
Или другой вариант - используете метку в шаблоне для данного модуля, которой нет в другом шаблоне.
*

Тимур

  • Захожу иногда
  • 52
  • 1 / 0
uralmas
Дело такое: список категорий появляется там и так, как нужно, в шаблоне №2. А при нажатии на ссылку категории, результаты выдаются в другом шаблоне, шаблоне №1, который стоит по умолчанию на сайте. Вы не в курсе, как это можно поднастроить? Скорее всего это в коде где-то.

Сделал специально пометки на сайте в шаблонах, чтоб было наглядно видно и понятно как происходит изменение. ( В правом верхнем углу после текста адреса ".рф" в скобочках ).
« Последнее редактирование: 03.01.2011, 20:06:31 от Тимур »
*

kolyabis

  • Новичок
  • 5
  • 0 / 0
Добрый день.  Подскажите пожалуйста в каком файле посмотреть стили на наведение мышки на категорию.
  Мне очень надо чтоб при наведении мыши появлялся серый задний фон, как в вашем модуле, но чтоб когда нажмеш на категорию и убираешь курсор мыши, серый фон оставался. Тоесть чтоб по данной функции человек видел на какой категории он находится.

Заранее благодарю, администратор сайта verineya.com.ua.
*

uralmas

  • Захожу иногда
  • 228
  • 25 / 0
Это вопрос по CSS - в нужном псевдоклассе a:hover надо задать color:#...(нужный цвет). А где это надо прописать - это написано в первом посте "Кастомизация. CSS"
*

kolyabis

  • Новичок
  • 5
  • 0 / 0
Скажите, а в каком файле находятся эти строки кастомизации?
*

kolyabis

  • Новичок
  • 5
  • 0 / 0
Еще один моментик.  я хочу в данный модуль внести якорь, чтоб при каждом клике на категорию не перекидывало на самый верх странички. Подскажите где посмотреть, в каком файле, чтоб найти откуда генерируются ссылки в меню категорий товара.
*

uralmas

  • Захожу иногда
  • 228
  • 25 / 0
Про кастомизацию написано в первом посте, а насчёт второго - укажите, какой шаблон вы используете. Мы не в силах понять то, что нам не говорят.
*

kolyabis

  • Новичок
  • 5
  • 0 / 0
Я использую шаблон pj_amenity_15
*

uralmas

  • Захожу иногда
  • 228
  • 25 / 0
Очень за вас рад. А шаблон модуля категорий какой?
*

kunev

  • Захожу иногда
  • 118
  • 0 / 0
Здравствуйте. Так долго никто ничего не пишет, аж страшно, модуль действительно красивый :) Автор молодчина. Честно говоря поставил его на тестовый сайт, не могу расстаться. Но есть одно, но... Перечитал я все 17стр, автор пишет что переносить слова в motree не возможно, но как раз он то больше всего и красив :) Хозяин сайта к нему привык, но у него есть привычка делать категории длинные (в меру конечно). Уменьшить в размерах, собственно не выход :) Может есть какая идея, может снять с публикации дочернюю надпись Главная(Каталог) смотрите прикрепл.рис.
Кстати и попутно как снять выделение с фильтров? а то до перестановки доходит, либо в чёрном либо в белом :)

[вложение удалено Администратором]
*

uralmas

  • Захожу иногда
  • 228
  • 25 / 0
Да, в вашем случае - убрать "Каталог", может, увеличить на несколько пикселей ширину с блока с каталогом.
А по фильтрам посмотри по базе данных. У каждого модуля там должна быть запись, в которую сохраняются все настройки из админки.
*

laser585

  • Новичок
  • 2
  • 0 / 0
люди добрые,сделал шаблон в artisteer 3, подскажите пожалуйста, как сделать, чтобы менюшка отображалась в соответствии со стилями artisteer   art-vmenu?
чтобы выводился не <ul сlass ="menu"> а <ul сlass ="art-vmenu">

Чтобы структура была следующая:

Код
<ul class="art-vmenu">
  <li id="current" class="active item1"><a href="/index.php?option=com_content&amp;view=frontpage&amp;Itemid=1" class="active">
    <span class="l"></span>
    <span class="r"></span>
    <span class="t">Главная</span></a>
  </li>

Для примера на сайте m.ulsait.ru, чтобы модуль (VirtueMart Categories new) выглядел также, как и главное меню (расположено слева).


Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

IceVmCart - новый бесплатный модуль корзины для VirtueMart

Автор Grig2009

Ответов: 105
Просмотров: 53920
Последний ответ 05.02.2017, 11:44:02
от Super_Panda
Модуль недавно просмотренные товары для VirtueMart 1.1.X

Автор aleks_yug

Ответов: 97
Просмотров: 28027
Последний ответ 25.10.2016, 15:03:07
от Igoritaly
Модуль Cherry Picker for VirtueMart

Автор flintstone

Ответов: 42
Просмотров: 26623
Последний ответ 04.01.2016, 21:25:50
от gleb22
Добавить модуль в товар

Автор Tokyo

Ответов: 2
Просмотров: 2886
Последний ответ 11.05.2015, 20:43:32
от tierex
Модуль VirtueMart для фильтра товаров по категориям!

Автор maxmur

Ответов: 104
Просмотров: 52585
Последний ответ 08.08.2014, 11:47:37
от Хусен