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

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Как перенести значек sale, new и прочие в другую часть фотографии товара ?
*

nevigen

  • Moderator
  • 10449
  • 863 / 25
  • http://n*****n.com
Re: Как перенести заначек (sale, new и пр...)
« Ответ #1 : 27.02.2012, 22:51:57 »
используя ЦСС.
Нужно задать диву в котром выводится лейбл нужные параметры. Класс .product_label
;)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Re: Как перенести заначек (sale, new и пр...)
« Ответ #2 : 27.02.2012, 23:48:23 »
используя ЦСС.
Нужно задать диву в котром выводится лейбл нужные параметры. Класс .product_label
;)

Спасибо!
А не подскажешь еще где лежит эта ЦСС
*

nevigen

  • Moderator
  • 10449
  • 863 / 25
  • http://n*****n.com
Re: Как перенести заначек (sale, new и пр...)
« Ответ #3 : 27.02.2012, 23:58:33 »
шаблон/цсс/дефаулт.цсс
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

vagkrsk

  • Давно я тут
  • 731
  • 125 / 0
  • Дорогу осилит идущий
Re: Как перенести заначек (sale, new и пр...)
« Ответ #4 : 28.02.2012, 07:02:22 »
Файл product_default.php имеет строку <div class="product_label">
Ищем в файле default.css класс product_label
Код
.jshop .product_label{
    position: absolute;
    margin-left: -5px;
    margin-top: -5px;    
}
и упражняемся с ним до победы...
*

Polosat

  • Захожу иногда
  • 202
  • 7 / 0
  • Мечты - это то, из чего сделано будущее
Re: Как перенести заначек (sale, new и пр...)
« Ответ #5 : 28.02.2012, 13:57:03 »
Спасибо, всё просто и сразу получилось, с ужасом вспоминаю как это было на Вирмарте

*

fliginskih

  • Захожу иногда
  • 197
  • 15 / 1
Re: Как перенести заначек (sale, new и пр...)
« Ответ #6 : 28.02.2012, 15:18:15 »
Код
.jshop .product_label{
    position: absolute;
    margin-left: -5px;
    margin-top: -5px;    
}
Считаю, что не корректно в данном случае регулировать позицию объекта с помощью "margin"
Используйте "top: 5px;" "left: 5px;"  - в этом примере CSS задаст отступ сверху и слева на 5 пикселей.
*

vagkrsk

  • Давно я тут
  • 731
  • 125 / 0
  • Дорогу осилит идущий
Re: Как перенести заначек (sale, new и пр...)
« Ответ #7 : 28.02.2012, 15:25:53 »
Считаю, что не корректно в данном случае регулировать позицию объекта с помощью "margin"
Используйте "top: 5px;" "left: 5px;"  - в этом примере CSS задаст отступ сверху и слева на 5 пикселей.

Может и не корректно, но это нужно написать разработчикам. Послание не в тот адрес...
*

fliginskih

  • Захожу иногда
  • 197
  • 15 / 1
Re: Как перенести заначек (sale, new и пр...)
« Ответ #8 : 28.02.2012, 15:34:43 »
при чем тут адрес. Я про то, чем надо менять положение объекта при использовании "position:absolute"
*

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Re: Как перенести заначек (sale, new и пр...)
« Ответ #9 : 28.02.2012, 15:59:27 »
при чем тут адрес. Я про то, чем надо менять положение объекта при использовании "position:absolute"

Так что тут некорректного ?
На фото есть объект в виде наложенной картинке.
Этот объект надо сдвинуть.
По моему очень корректное решение.
А Ваше какое ?
*

fliginskih

  • Захожу иногда
  • 197
  • 15 / 1
Re: Как перенести заначек (sale, new и пр...)
« Ответ #10 : 28.02.2012, 16:24:21 »
.jshop .product_label{
    position: absolute;
    left: 5px;
    top: 5px;   
}
*

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Re: Как перенести заначек (sale, new и пр...)
« Ответ #11 : 28.02.2012, 17:04:13 »
шаблон/цсс/дефаулт.цсс

Файл product_default.php имеет строку <div class="product_label">
Ищем в файле default.css класс product_label
Код
.jshop .product_label{
    position: absolute;
    margin-left: -5px;
    margin-top: -5px;   
}
и упражняемся с ним до победы...
В нем нашел
.jshop .product_label{
    position: absolute;
    left: 5px;
    top: 5px;   
}

Но какие бы значения не ставил, ничего не меняется :-(
Мож посоветуете что ?
Нашел файлик default.css
*

fliginskih

  • Захожу иногда
  • 197
  • 15 / 1
Re: Как перенести заначек (sale, new и пр...)
« Ответ #12 : 28.02.2012, 17:21:35 »
у меня все меняется.
Кстати, у родительского элемента надо поставить "position:relative;"
*

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Re: Как перенести заначек (sale, new и пр...)
« Ответ #13 : 28.02.2012, 17:46:59 »
у меня все меняется.
Кстати, у родительского элемента надо поставить "position:relative;"


Это где и в каком файле ?
*

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Re: Как перенести заначек (sale, new и пр...)
« Ответ #14 : 28.02.2012, 17:52:45 »
у меня все меняется.
Кстати, у родительского элемента надо поставить "position:relative;"

Поставил вообще заоблачные цифры и ничего :-(
Вот кусок файла :

.jshop .product_label{
    position: absolute;
  left: 115px;
  top: 135px;   
}
*

johnrass

  • Захожу иногда
  • 125
  • 26 / 0
Re: Как перенести заначек (sale, new и пр...)
« Ответ #15 : 28.02.2012, 18:29:56 »
Путь до файла /components/com_jshopping/css/default.css
там ищешь
.jshop .product_label{
    position: absolute;
    margin-left: -5px;
    margin-top: -5px;   
}
и меняй цифры так как надо.
*

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Re: Как перенести заначек (sale, new и пр...)
« Ответ #16 : 28.02.2012, 18:57:49 »
Путь до файла /components/com_jshopping/css/default.css
там ищешь
.jshop .product_label{
    position: absolute;
    margin-left: -5px;
    margin-top: -5px;    
}
и меняй цифры так как надо.


Так я же показал сообщением выше изменения именно в этом файле.
Результат нулевой :-(
Более того...
Я вообще закоментировал  default.css и ничего не изменилось :-(
Вот что странно
*

kit2m2

  • Живу я здесь
  • 3360
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Как перенести заначек (sale, new и пр...)
« Ответ #17 : 28.02.2012, 19:29:16 »
Так я же показал сообщением выше изменения именно в этом файле.
Результат нулевой :-(
Более того...
Я вообще закоментировал  default.css и ничего не изменилось :-(
Вот что странно

Тема тихим сапом превращается онлайн курс по CSS.

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

johnrass

  • Захожу иногда
  • 125
  • 26 / 0
Re: Как перенести заначек (sale, new и пр...)
« Ответ #18 : 28.02.2012, 19:31:23 »
Сайт локально или нет? Если нет, то ссылку на сайт.
Установите FireBug и тогда Вы точно будете знать почему не работает.
*

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Re: Как перенести заначек (sale, new и пр...)
« Ответ #19 : 28.02.2012, 19:58:35 »
Сайт локально или нет? Если нет, то ссылку на сайт.
Установите FireBug и тогда Вы точно будете знать почему не работает.
Нет не локально.
Вот ссылка www.3opt.ru
Подскажите пожалуйста.
*

johnrass

  • Захожу иногда
  • 125
  • 26 / 0
Re: Как перенести заначек (sale, new и пр...)
« Ответ #20 : 28.02.2012, 20:30:18 »
В Вашем случае Вам нужно править вот этот файл 185-ю строку
http://www.3opt.ru/modules/mod_ice_carousel/assets/style.css
Например так:
.jshopping_padding .product_label {
    position: absolute;
    top: 25px;
    left: 25px;
}
« Последнее редактирование: 28.02.2012, 20:52:07 от johnrass »
*

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Re: Как перенести заначек (sale, new и пр...)
« Ответ #21 : 28.02.2012, 21:20:57 »
В Вашем случае Вам нужно править вот этот файл 185-ю строку
http://www.3opt.ru/modules/mod_ice_carousel/assets/style.css
Например так:
.jshopping_padding .product_label {
    position: absolute;
    top: 25px;
    left: 25px;
}

Дорогой ТОВАРИЧ!
У тебя есть кошелек?
Дай отправлю небольшой взнос...
Спасибо тебе большое, все порешалось...
У меня было подозрение, что это где то в карусельном модуле, не мог найти.
Не подскажешь методику поиска?
*

nevigen

  • Moderator
  • 10449
  • 863 / 25
  • http://n*****n.com
Re: Как перенести заначек (sale, new и пр...)
« Ответ #22 : 28.02.2012, 22:02:03 »
ФаерБаг :)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Re: Как перенести заначек (sale, new и пр...)
« Ответ #23 : 13.03.2012, 00:01:02 »
В Вашем случае Вам нужно править вот этот файл 185-ю строку
http://www.3opt.ru/modules/mod_ice_carousel/assets/style.css
Например так:
.jshopping_padding .product_label {
    position: absolute;
    top: 25px;
    left: 25px;
}

Наконец то отправил чуток тебе в кошелек.
Подтверди получение.
*

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Re: Как перенести заначек (sale, new и пр...)
« Ответ #24 : 13.03.2012, 00:02:16 »
.jshop .product_label{
    position: absolute;
    left: 5px;
    top: 5px;   
}
Отправил тебе чуток в кошелек за труды и отзыв....
Подтверди получение.
*

sterveo

  • Захожу иногда
  • 60
  • 1 / 0
Re: Как перенести заначек (sale, new и пр...)?
« Ответ #25 : 15.10.2013, 01:14:02 »
Интересно а как быть если шаблон резиновый?
Картинка товара размещена по середине, в ряду три товара.

Как примотать картинку new на картинку товара?
*

sterveo

  • Захожу иногда
  • 60
  • 1 / 0
Re: Как перенести заначек (sale, new и пр...)?
« Ответ #26 : 15.10.2013, 01:20:30 »
Внес изменения в категорию (product.php) и карточку (product_default.php) товара прописал в CSS шаблона JS получилось:
Спойлер
[свернуть]
в карточке порядок а в категории и сопутствующих, лейбл стоит на месте а фото товара бегает  ))))))
чЁ делать то?
*

sterveo

  • Захожу иногда
  • 60
  • 1 / 0
Re: Как перенести заначек (sale, new и пр...)?
« Ответ #27 : 21.10.2013, 13:47:09 »
тут//////  копать ?

Спойлер
[свернуть]
*

sterveo

  • Захожу иногда
  • 60
  • 1 / 0
Re: Как перенести заначек (sale, new и пр...)?
« Ответ #28 : 21.10.2013, 14:30:30 »
Короче решил сам. Всем спасибо.

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