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

Eandycat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Добрый день!
Есть сайт master-sensei.ru, закомментированы кнопки +, - и удалить в корзине.
Не могу найти где убрать комментирование.  ! ! !
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
таких кнопок нет в ЖШ по умолчанию.
файлы шаблона описаны в ФАКе данного раздела.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Eandycat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
таких кнопок нет в ЖШ по умолчанию.
файлы шаблона описаны в ФАКе данного раздела.

Спасибо за быстрый ответ.

Я читал FAQ нашел шаблон, но не могу понять что к чему:
открываю файл components\com_jshopping\templates\default\cart\cart.php - корзина

Вижу там:
Код
        <td class="remove">
            <div class="mobile-cart">
                <?php print _JSHOP_REMOVE; ?>
            </div>
            <div class="data">
                <a class="button-img" href="<?php print $prod['href_delete']?>" onclick="return confirm('<?php print _JSHOP_CONFIRM_REMOVE?>')">
                    <img src = "<?php print $this->image_path ?>images/remove.png" alt = "<?php print _JSHOP_DELETE?>" title = "<?php print _JSHOP_DELETE?>" />
                </a>
            </div>
        </td>

В браузере вижу:

Код
				<td class="">
                    <div class="product_price_total">
                        310руб.                                                                    </div>
                </td>
<!--<td>
                    <div class="delete_product">
                        <a href="/" onclick="return confirm('Действительно удалить?')">
                            <img src="/components/com_jshopping/images/remove.png" alt="Удалить" title="Удалить" />
                        </a>
                    </div>
                </td>-->
            </tr>

Прямо не знаю как связать одно с другим.

Кроме этого тупа на ftp переименовываю папку
components\com_jshopping\templates\default\CARD\
например в CARD1, но ничего не меняется.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
проверьте переопределение шаблона ЖШ в шаблоне Joomla
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Eandycat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
проверьте переопределение шаблона ЖШ в шаблоне Joomla

До меня было переопредлено
/templates/protostar/html/com_jshopping/cart/cart.php

Но там тоже:
Код
        <td class="remove">
            <div class="mobile-cart">
                <?php print _JSHOP_REMOVE; ?>
            </div>
            <div class="data">
                <a class="button-img" href="<?php print $prod['href_delete']?>" onclick="return confirm('<?php print _JSHOP_CONFIRM_REMOVE?>')">
                    <img src = "<?php print $this->image_path ?>images/remove.png" alt = "<?php print _JSHOP_DELETE?>" title = "<?php print _JSHOP_DELETE?>" />
                </a>
            </div>

Никакие изменения не влияют. Может неправильно переопределено?
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
возможно какие то зухеры :)
но врдяли переопределение может быть на правильным.

попробуйте переименовать папку
/templates/protostar/html/com_jshopping1/ например
ипосотмреть.
в папке шаблонов ЖШ только фелот ?
в настйроках ЖШ задан шаблон дефолт ?

П.С.
советую перенести и переопределить шаблон ЖШ в компоненте ЖШ а не в шаблоне Ж.
так правильнее будет.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Eandycat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
возможно какие то зухеры :)
но врдяли переопределение может быть на правильным.

попробуйте переименовать папку
/templates/protostar/html/com_jshopping1/ например
ипосотмреть.
в папке шаблонов ЖШ только фелот ?
в настйроках ЖШ задан шаблон дефолт ?

Переименовал создал заново не помогла.
Все по дефалту.

По совету, через пару часов попробую. Надо бежать.
*

Eandycat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
П.С. советую перенести и переопределить шаблон ЖШ в компоненте ЖШ а не в шаблоне Ж. так правильнее будет.



Создал новую папку для шаблона нового ШЖ (new_cart) Скопировал содержимое папки default в новую папку.
В настройках ШЖ выбрал новый шаблон.


Все осталось по прежнему, кроме слилей (видимо нужно создать вручную еще и файл стилей для нового шаблона).

*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
не не :)
так не делается
шаблон переопределяется целиком :)
посомтрите FAQ.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Akeksandr

  • Захожу иногда
  • 396
  • 12 / 0
Добрый день!
Есть сайт master-sensei.ru, закомментированы кнопки +, - и удалить в корзине.
Не могу найти где убрать комментирование.  ! ! !
Не знаю как у Вас.У меня в Джумшопинге для плюс/минус ставился плагин. Так вот в плагинах он прописывался дважды. Один включал отображение в карточке товара, другой отображение в корзине.Я просто помню сам тогда искал, чтобы выключить в карточке, а оставить в корзине.
*

Eandycat

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

Ага точно, есть отдельный плагин на плюс и минус - Addon Plus and Minus Count Product.
Я нашел где его вкл/выкл - Менеджер расширений: Управление
там два варианта:
вкл/выкл - в карточке товара.
вкл/выкл - в корзине

НО не работает у меня в корзине :-( , в карточке товара работает, а в корзине нет.
*

Eandycat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
не не :)
так не делается
шаблон переопределяется целиком :)
посомтрите FAQ.

Я сделал так как указано в 2. Способ
Создать папку в /components/com_jshopping/templates/mytemplate/. В нее скопировать содержимое папки /components/com_jshopping/templates/default/ и править как Вам хочется по расположению блоков.
В папке /components/com_jshopping/css создать файл  mytemplate.css и в нем описать стили нужные (для простоты можно скопировать и  default.css и подправить под свои нужды)

После таких манипуляций, обновления не будут влиять на Ваш шаблон ЖШ. Однако еcли в шаблоны были добавлены какие-то дополнительные блоки вывода. Вам нужно будет в ручную внести правки в файлы /templates/ВАШ ШАБЛОН/html/com_jshopping/ либо если их вывод не так важен для Вашего магазина, оставить как есть..

Или не то?
Про переопределение написано только тут:
Административная панель - переопределение шаблона админ-панели JoomShopping
Решение описано здесь

Но я не понимаю, как это применить... там описан процесс на оборот, как перенести в шаблон из компонента.

Я так понял смысл переопределения, как раз в том чтобы не править файлы в компоненте, а исправлять в шаблоне, чтобы при обновлении компонента не слетал шаблон.
« Последнее редактирование: 09.12.2017, 13:18:35 от Eandycat »
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
вс правильно. 2-й способ правильно.
я думал что нью_карт это только 1 файл.

ну тогда странно надо сотмреть.
но если вы о плагине то в шаблоне ж вы его не найдете :)
в шаблон плагином кнопки вставляются через тригеры.
возможно у вас старая версия шаблона или порезанная.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Eandycat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
ну тогда странно надо сотмреть.
но если вы о плагине то в шаблоне ж вы его не найдете :)
в шаблон плагином кнопки вставляются через тригеры.

Если я дам вам доступ сможете исправить?
Сколько денег? :-)

Там получается закомментированны +, - и удалить из корзины.

Не только + и -
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
еще пара сообщений и сможете писать личку :)
туда бросите доступы
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Eandycat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
еще пара сообщений и сможете писать личку :)
туда бросите доступы

А точно тут же надо 10 сообщений набрать, чтоб в личку писать.  :-)))
*

Eandycat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Не знаю как у Вас.У меня в Джумшопинге для плюс/минус ставился плагин. Так вот в плагинах он прописывался дважды. Один включал отображение в карточке товара, другой отображение в корзине.Я просто помню сам тогда искал, чтобы выключить в карточке, а оставить в корзине.
А не знаете, есть ли плагин, чтоб удалять из корзины?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
плагина для удаления никакого не нужно. плагин нужен только для кнопок +-, удаление из корзины это стандартно в ЖШ
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Eandycat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
еще пара сообщений и сможете писать личку :)
туда бросите доступы
Что-то не вижу как в личку написать.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
кликните на автар там потом слева будет отправить личное сообщение :)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Eandycat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
кликните на автар там потом слева будет отправить личное сообщение :)
Блин, не вижу...

nevigen
Легенда

Онлайн
[Удалить из списка друзей]
Просмотр сообщений
Статистика

Кто изменил мою карму
Кому я изменил карму
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

kit2m2

  • Живу я здесь
  • 3360
  • 276 / 0
  • Беру сайты на полное сопровождение
Eandycat, причем здесь корзина? У Вас стоит аддон QuickCheckout. Ссылки на Корзину у Вас вообще нет,  :o сразу идет оформление заказа, где никаких действий уже не произведешь, кроме как - оформления заказа.
У Вас даже поля количества нет, "зачем Вам кнопки плюс/минус"?  ;)

Хотите разобраться смотрите аддон... Не вводите людей в заблуждение, насчет вашей корзины.  ;D
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Eandycat

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

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
:)
а я даже сайт не смотрел :)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

kit2m2

  • Живу я здесь
  • 3360
  • 276 / 0
  • Беру сайты на полное сопровождение
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Eandycat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Eandycat, причем здесь корзина? У Вас стоит аддон QuickCheckout. Ссылки на Корзину у Вас вообще нет,  :o сразу идет оформление заказа, где никаких действий уже не произведешь, кроме как - оформления заказа.
У Вас даже поля количества нет, "зачем Вам кнопки плюс/минус"?  ;)

Хотите разобраться смотрите аддон... Не вводите людей в заблуждение, насчет вашей корзины.  ;D

То есть это не корзина?
*

kit2m2

  • Живу я здесь
  • 3360
  • 276 / 0
  • Беру сайты на полное сопровождение
Нет это уже оформление заказа!
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

kit2m2

  • Живу я здесь
  • 3360
  • 276 / 0
  • Беру сайты на полное сопровождение
Вот это корзина!
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Изменение стандартных изображений в корзине на иконки fontawesome

Автор tigra-uki

Ответов: 2
Просмотров: 2668
Последний ответ 21.01.2021, 18:34:20
от tigra-uki
Отображение товара в корзине

Автор ev06

Ответов: 12
Просмотров: 1688
Последний ответ 29.04.2020, 06:26:48
от kit2m2
Вырезать вывод категорий с главной страницы магазина maincategory.php удалить)

Автор Evgenii_web

Ответов: 8
Просмотров: 1035
Последний ответ 25.01.2020, 19:27:57
от Evgenii_web
Сменит кнопку В корзину на Товар добавлен или товар в корзине

Автор Dolphin4ik_1

Ответов: 1
Просмотров: 857
Последний ответ 29.01.2019, 14:40:22
от Dolphin4ik_1
Удалить название в категории

Автор svarg

Ответов: 7
Просмотров: 1215
Последний ответ 30.03.2018, 16:44:43
от dmitry_stas