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

pro100_stalkers

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Вывод описания категории
« : 30.01.2016, 13:14:08 »
В контроллере в методе display() нужно вывести описание, или например имя категории у которой id = 1.
Кто поможет, уже три дня голову ломаю  ! ! !
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод описания категории
« Ответ #1 : 30.01.2016, 13:36:14 »
я же вам сказал, смотрите контроллер category. там все предельно ясно. вы просто голову ломаете? или смотрели и пробовали что то сделать, но не получилось?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

pro100_stalkers

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Вывод описания категории
« Ответ #2 : 30.01.2016, 14:10:38 »
я же вам сказал, смотрите контроллер category. там все предельно ясно. вы просто голову ломаете? или смотрели и пробовали что то сделать, но не получилось?
пробовал делать но не получилось, поэтому и прошу помощи...
не разобрался я в category.php
*

kit2m2

  • Живу я здесь
  • 3362
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Вывод описания категории
« Ответ #3 : 30.01.2016, 14:15:27 »
Этот код отвечает за вывод описания категории:
Код
        $category = JSFactory::getTable('category', 'jshop');
        $category->load($category_id);
        $category->getDescription();
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

pro100_stalkers

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Вывод описания категории
« Ответ #4 : 30.01.2016, 14:38:04 »
Этот код отвечает за вывод описания категории:
Код
        $category = JSFactory::getTable('category', 'jshop');
        $category->load($category_id);
        $category->getDescription();
Ну это то я понял, а вот как вывести описание определенной категории не понял
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод описания категории
« Ответ #5 : 30.01.2016, 14:41:30 »
пробовал делать но не получилось, поэтому и прошу помощи...
помощи в чем? разобраться вместе с вами? сделать вместо вас? в чем именно? еще раз - если вы что-то пытались сделать, и не получилось - это один вопрос. пишите конкретные вопросы что пробовали и что не получилось - будут конкретные ответы. но если вы теоретически хотите сделать, но при этом не хотите или не можете тратить свое время - то это в коммерческий раздел.

Этот код отвечает за вывод описания категории:
получение
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Вывод описания категории
« Ответ #6 : 30.01.2016, 14:58:32 »
Блин, ну там же у вас по ID вывод - посмотрите ID нужной категории и выводите.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

pro100_stalkers

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Вывод описания категории
« Ответ #7 : 30.01.2016, 15:10:15 »
Блин, ну там же у вас по ID вывод - посмотрите ID нужной категории и выводите.
Ну так так и делал...
Спойлер
[свернуть]
*

kit2m2

  • Живу я здесь
  • 3362
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Вывод описания категории
« Ответ #8 : 30.01.2016, 15:30:08 »
Цитировать
echo $category_id;
echo $category_name;
Где выводите? В шаблоне?
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

kit2m2

  • Живу я здесь
  • 3362
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Вывод описания категории
« Ответ #9 : 30.01.2016, 15:39:54 »
Совет: Опишите простыми словами что хотите добиться на своем сайте (можно приложить схематичный рис. + ссылку на сайт)
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Вывод описания категории
« Ответ #10 : 30.01.2016, 15:52:58 »
pro100_stalkers, в функции пишите return. А в шаблоне уже получайте и выводите.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод описания категории
« Ответ #11 : 30.01.2016, 16:05:44 »
не, это надо для AJAX. тут где то было еще пару тем по соседству :) так что шаблон тут не надо, die все правильно. но! во-первых, что такое $category_name ? вы ее определили, чтобы ее выводить? раз уж так вам сложно посмотреть, как же все таки выводится имя категории, то сделайте хотя бы
print_r($category);
и посмотрите, что содержится в объекте $category и что именно надо вывести.
ну и во-вторых, на всякий случай напомню, что для вывода аяксом надо по-хорошему использовать json_encode, а не просто выводить все подряд.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

pro100_stalkers

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Вывод описания категории
« Ответ #12 : 30.01.2016, 16:06:28 »
Совет: Опишите простыми словами что хотите добиться на своем сайте (можно приложить схематичный рис. + ссылку на сайт)

При нажатии слева на категорию, справа должно появляется название, описание категории.
Предположим что Аэропланы категория с id=1 , справа должно выводить описание категории 1
При нажатии на категорию ссылаемся на index.php?option=com_jshopping&controller=cont_1
и эта страница подгружается справа с помощью JS
*

pro100_stalkers

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Вывод описания категории
« Ответ #13 : 30.01.2016, 16:27:57 »
не, это надо для AJAX. тут где то было еще пару тем по соседству :) так что шаблон тут не надо, die все правильно. но! во-первых, что такое $category_name ? вы ее определили, чтобы ее выводить? раз уж так вам сложно посмотреть, как же все таки выводится имя категории, то сделайте хотя бы
print_r($category);
и посмотрите, что содержится в объекте $category и что именно надо вывести.
ну и во-вторых, на всякий случай напомню, что для вывода аяксом надо по-хорошему использовать json_encode, а не просто выводить все подряд.
Так и не разобрался как правильно работать с объектом, точнее как определить переменную :(
*

kit2m2

  • Живу я здесь
  • 3362
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Вывод описания категории
« Ответ #14 : 30.01.2016, 16:33:40 »
Теперь всё понятно.  ^-^ Всё что вы хотите, делается элементарно - стилями CSS и не нужно огород городить с контролером.

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

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод описания категории
« Ответ #15 : 30.01.2016, 16:35:38 »
Так и не разобрался как правильно работать с объектом, точнее как определить переменную :(
и print_r($category) вообще ни о чем не сказал?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

pro100_stalkers

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Вывод описания категории
« Ответ #16 : 30.01.2016, 16:36:54 »
и print_r($category) вообще ни о чем не сказал?
Сказал, но не понятно как с этого объекта вытаскивать данные...
Спойлер
[свернуть]
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод описания категории
« Ответ #17 : 30.01.2016, 16:38:15 »
Всё что вы хотите, делается элементарно - стилями CSS и не нужно огород городить с контролером.
JS - Тоже не нужен!
ну так будет либо
а) перезагрузка страницы
либо
б) описания всех категорий (нам бы с одной справится...) на одной странице

ни то, ни другое я так понимаю не устраивает.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод описания категории
« Ответ #18 : 30.01.2016, 16:39:42 »
Сказал, но не понятно как с этого объекта вытаскивать данные...
как и из любого другого объекта в php. вы как обычно к свойствам объектов обращаетесь?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

pro100_stalkers

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Вывод описания категории
« Ответ #19 : 30.01.2016, 16:41:33 »
как и из любого другого объекта в php. вы как обычно к свойствам объектов обращаетесь?
$category -> category_id;
?
Я не так силен в php, если помещать это в переменную бьет ошибку, а если не помещать то не понятно как вызвать...
*

pro100_stalkers

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Вывод описания категории
« Ответ #20 : 30.01.2016, 16:44:03 »
как и из любого другого объекта в php. вы как обычно к свойствам объектов обращаетесь?
Пока пытался так, но чет не то
Спойлер
[свернуть]
*

kit2m2

  • Живу я здесь
  • 3362
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Вывод описания категории
« Ответ #21 : 30.01.2016, 16:45:57 »
Да не увидел что нужно при нажатии на кнопку....

1. При наведении: делается всё стилями CSS
2. При нажатии: CSS+JS
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод описания категории
« Ответ #22 : 30.01.2016, 16:49:28 »
Пока пытался так, но чет не то
что по вашему должно загрузить данные о категории с ид=1 ? $category->load с какой целью убрали?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

pro100_stalkers

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Вывод описания категории
« Ответ #23 : 30.01.2016, 16:49:53 »
Да не увидел что нужно при нажатии на кнопку....

1. При наведении: делается всё стилями CSS
2. При нажатии: CSS+JS

Я и так знаю как это делать, но мне нужен именно вывод через объект категории..
*

kit2m2

  • Живу я здесь
  • 3362
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Вывод описания категории
« Ответ #24 : 30.01.2016, 16:54:19 »
Зачем? Не ищите легких путей? Что ж похвально, но не в этом случае.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

pro100_stalkers

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Вывод описания категории
« Ответ #25 : 30.01.2016, 16:56:21 »
что по вашему должно загрузить данные о категории с ид=1 ? $category->load с какой целью убрали?

Смотрю $category изменилась, но почему имя категории не подгружает :(
Спойлер
[свернуть]

Хотя тут уже принцип работы понял...
но вот теперь вывод не знаю как сделать :(
« Последнее редактирование: 30.01.2016, 17:00:21 от pro100_stalkers »
*

pro100_stalkers

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Вывод описания категории
« Ответ #26 : 30.01.2016, 16:57:22 »
Зачем? Не ищите легких путей? Что ж похвально, но не в этом случае.
Это просто лишний кусок костылей, когда как советует dmitry_stas намного удобнее
*

kit2m2

  • Живу я здесь
  • 3362
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Вывод описания категории
« Ответ #27 : 30.01.2016, 17:00:23 »
CSS - это не костыли, а то что Вы городите - как раз они. (мое мнение)
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

pro100_stalkers

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Вывод описания категории
« Ответ #28 : 30.01.2016, 17:01:40 »
Все разобрался  ;D ;D ;D
Спасибо dmitry_stas
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод описания категории
« Ответ #29 : 30.01.2016, 17:39:13 »
Все разобрался  ;D ;D ;D
ура :) даже на вторую страницу не перешли :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

JoomShopping, вывод всех категории к которым принадлежит товар

Автор Valent777

Ответов: 12
Просмотров: 2305
Последний ответ 01.11.2024, 14:57:28
от kit2m2
Дополнительные поля для категории JoomShopping

Автор goga_pgasovav

Ответов: 3
Просмотров: 1767
Последний ответ 07.07.2024, 08:43:15
от nevigen
[JoomShopping 5] вывод товаров из дочерних категорий

Автор v42bis

Ответов: 15
Просмотров: 2573
Последний ответ 14.06.2024, 11:43:28
от denistischenko
WT JoomShopping Favorite - кнопки избранного в категории товаров и карточке тов

Автор sergeytolkachyov

Ответов: 13
Просмотров: 3180
Последний ответ 03.04.2024, 14:24:38
от sergeytolkachyov
Вывод номера телефона в списке заказов

Автор sifoz

Ответов: 8
Просмотров: 2772
Последний ответ 25.11.2023, 00:58:54
от nevigen