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

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #210 : 22.07.2015, 11:22:57 »
http://prntscr.com/7vkk42
добавить выделенное красным
путь до файла и строка указана
*

Vermillion

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #211 : 22.07.2015, 13:13:58 »
Спасибо, помогло)
*

existence

  • Новичок
  • 3
  • 0 / 0
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #212 : 25.07.2015, 14:02:01 »
Привет, подскажите, пожалуйста, как сделать так, чтобы один (или несколько определенных) спойлер был на странице открытым?
К сожалению, на страничке с описанием плагина, нет примера.
Спасибо.
*

Fornix

  • Новичок
  • 1
  • 0 / 0
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #213 : 28.07.2015, 11:22:35 »
Подскажите пожалуйста, а можно ли в табах как-то добавить дублирующиеся вкладки внизу? Это было бы удобно при варианте с нумерацией. Спасибо!
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #214 : 28.07.2015, 11:43:29 »
Привет, подскажите, пожалуйста, как сделать так, чтобы один (или несколько определенных) спойлер был на странице открытым?
К сожалению, на страничке с описанием плагина, нет примера.
Спасибо.
Подскажите пожалуйста, а можно ли в табах как-то добавить дублирующиеся вкладки внизу? Это было бы удобно при варианте с нумерацией. Спасибо!
Такой возможности в плагине нет.
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #215 : 20.08.2015, 13:05:26 »
Только обратил внимание
Код
JURI::base (true) - со слэшом
JURI::base (false) или JURI::base () - без слэша

Уже давно это пишут так для J3.0
Код
<link rel="stylesheet" href="/media/ext_tss/assets/css/ext_tss.css" type="text/css" />
<script src="/media/ext_tss/assets/js/ext_tss.js" type="text/javascript" defer="defer"></script>

Можно не прописывать
Код
JURI::base ()

ст. 22-23 ext_tss.php
 
Код
   $document->addScript(JURI::base().'media/ext_tss/assets/js/ext_tss.js', "text/javascript", true);
    $document->addStyleSheet(JURI::base().'media/ext_tss/assets/css/ext_tss.css');

Кстати такое пишется так:
 
Код
   $document->addScript(JURI::base(true).'media/ext_tss/assets/js/ext_tss.js', "text/javascript", true);
    $document->addStyleSheet(JURI::base(true).'media/ext_tss/assets/css/ext_tss.css');

Надо изменить:
 
Код
   $document->addScript('media/ext_tss/assets/js/ext_tss.js', "text/javascript", true);
    $document->addStyleSheet('media/ext_tss/assets/css/ext_tss.css');
Joomla 3 понимает такое написание

 *DRINK*

Еще небольшое исправление CSS в ext_tss.css
Спойлер
[свернуть]
« Последнее редактирование: 20.08.2015, 18:26:47 от leo78 »
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #216 : 20.08.2015, 13:40:59 »
Только обратил внимание
Код
JURI::base (true) - со слэшом
JURI::base (false) или JURI::base () - без слэша

Уже давно это пишут так для J3.0
Код
<link rel="stylesheet" href="/media/ext_tss/assets/css/ext_tss.css" type="text/css" />
<script src="/media/ext_tss/assets/js/ext_tss.js" type="text/javascript" defer="defer"></script>
Вы наверное, никогда не устанавливали систему во вложенную директорию корневого каталога
https://docs.joomla.org/JURI/base
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #217 : 20.08.2015, 14:04:46 »
ELLE спор не о чем.
Посмотрим стандартный шаблон j3.4
Код
// Add Stylesheets
$doc->addStyleSheet($this->baseurl . '/templates/' . $this->template . '/css/template.css');
В итоге
Код
 <link rel="stylesheet" href="/templates/protostar/css/template.css" type="text/css" />

http://forum.joomla.org/viewtopic.php?t=230710

Но проверено если вы сделаете так все работать будет
Код
  $document->addScript('media/ext_tss/assets/js/ext_tss.js', "text/javascript", true);
    $document->addStyleSheet('media/ext_tss/assets/css/ext_tss.css');

Если бы написали так
 
Код
   $document->addScript(JURI::base().'/media/ext_tss/assets/js/ext_tss.js', "text/javascript", true);
    $document->addStyleSheet(JURI::base().'/media/ext_tss/assets/css/ext_tss.css');

оно тоже работало, но отображалось бы так:
 
Код
<link rel="stylesheet" href="www.сайт.ru//media/ext_tss/assets/css/ext_tss.css" type="text/css" />
<script src="www.сайт.ru//media/ext_tss/assets/js/ext_tss.js" type="text/javascript" defer="defer"></script>;

Кстати это тоже не очень хорошо смотрится:
Код
      $document->addScript('//ajax.googleapis.com/ajax/libs/jquery/'.$jquery.'/jquery.min.js');

Много, чего устанавливал в итоге, все что пишу проверено

 *DRINK*

- Я НЕ говорю, что НЕ работает, я об эстетике, о внешнем виде этой ссылки
« Последнее редактирование: 20.08.2015, 18:25:10 от leo78 »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #218 : 20.08.2015, 14:51:06 »
ELLE спор не о чем.
Но проверено если вы сделаете так все работать будет
Хотел бы я посмотреть, как будет работать, если установить систему на локалку или
во вложенную директорию корневого каталога
Не будь паразитом, сделай что-нибудь самостоятельно!
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #219 : 20.08.2015, 15:43:02 »
Вы наверное, никогда не устанавливали систему во вложенную директорию корневого каталога

Символ ../ (две точки и слэш) обозначают возврат из папки в другую
Если в той же папке достаточно / (слэш)

robert
Проверяйте, MS-DOS вам в помощь :)

Глава 1. ОСНОВЫ ВЕБ-КОНСТРУИРОВАНИЯ
Спойлер
[свернуть]

Абсолютные и относительные ссылки

Цитировать
При указании в качестве ссылки каталога сайта (например, http://htmlbook.ru/css/), отображается индексный файл. Это файл, который загружается по умолчанию при обращении к каталогу без явного указания имени файла. Обычно в качестве индексного файла выступает документ с именем index.html.

Элемент <head> в HTML5

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

У меня шаблон HTML5, а у вас
 *DRINK*
« Последнее редактирование: 20.08.2015, 16:04:08 от leo78 »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #220 : 20.08.2015, 16:19:09 »
Код: php-brief
$document->addStyleSheet('/media/ext_tss/assets/css/ext_tss.css');
на локалке выводит http://localhost/media/ext_tss/assets/css/ext_tss.css вместо http://localhost/my_site/media/ext_tss/assets/css/ext_tss.css
Если уж очень хочется, то можно писать
Код: php-brief
$document->addStyleSheet('media/ext_tss/assets/css/ext_tss.css');
Хватит писать всякую чушь. И читать тоже надо уметь:
Цитировать
<a href="Папка/Ссылаемый документ.html">Ссылка</a>
Заметьте, что никаких дополнительных точек и слэшей перед именем папки нет.
---
Учтите, что такая форма записи не работает на локальном компьютере, а только под управлением веб-сервера.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #221 : 20.08.2015, 16:21:10 »
Символ ../ (две точки и слэш) обозначают возврат из папки в другую
Это мне надо всем, кто скачал плагин, объяснять? Чтобы они в случае чего лезли в плагин, и там ручками, в необходимой строке, добавляли пару точек и слеш? вместо того чтобы использовать JURI::base()
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #222 : 20.08.2015, 16:25:57 »
ELLE
Я понял вас, ну хотя бы так можно сделать
Код
JURI::base(true).

Типа
Код
    $mosConfig_live_site = JURI::base( true );
    $document->addScript($mosConfig_live_site.'media/ext_tss/assets/js/ext_tss.js', "text/javascript", true);
    $document->addStyleSheet($mosConfig_live_site.'media/ext_tss/assets/css/ext_tss.css');

А это значение менять, как угодно $mosConfig_live_site
Иначе те, кто не на локалке, в случае чего не лезли в плагин, и там ручками
« Последнее редактирование: 20.08.2015, 18:02:47 от leo78 »
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #223 : 20.08.2015, 18:28:18 »
robert
я ошибся:
Код
$document->addStyleSheet('/media/ext_tss/assets/css/ext_tss.css');

Так надо:
Код
$document->addStyleSheet('media/ext_tss/assets/css/ext_tss.css');
*

amikrage

  • Новичок
  • 3
  • 0 / 0
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #224 : 23.08.2015, 18:44:48 »
Подскажите, а можно попросить сделать возможность укладывать спойлер в таб и спойлер в спойлер?)

Код
{spoiler=Бухгалтерия}
Тел. вн. группы: 630
{tab=Руководители}
{spoiler=Главный бухгалтер}
Дата рождения: 06.08
{tab=Сотрудники}
{spoiler=fff}
f
{/tabs}
{/spoilers}

Спойлер
[свернуть]
« Последнее редактирование: 23.08.2015, 18:51:07 от amikrage »
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #225 : 23.08.2015, 19:22:34 »
Да, так можно )
*

amikrage

  • Новичок
  • 3
  • 0 / 0
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #226 : 23.08.2015, 20:36:59 »
Да, так можно )
Только в коде правив?) Много возни?)
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #227 : 23.08.2015, 23:41:43 »
Да не нужно ничего править, делайте как есть, как в вашем же примере
*

amikrage

  • Новичок
  • 3
  • 0 / 0
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #228 : 24.08.2015, 00:55:58 »
Да не нужно ничего править, делайте как есть, как в вашем же примере
Я конечно понимаю всё под свои нужды, мне нужна матрёшка :) Пример 1: spoiler -> tab -> spoiler. Имеем такой код
Код
{spoiler=Spoiler1}
Spoiler1 example
{tab=Tab1}{spoiler=Spoiler2}Tab1 example
{tab=Tab2}{spoiler=Spoiler3}Tab2 example
{/tabs}
{/spoilers}
Результат такой:
Спойлер
[свернуть]
Собственно данный блок, в таком случае некорректно обрабатывается, спойлер не прихватывает...
Код
<div class="tab-content"></div>

Пример 2: spoiler -> spoiler. Имеем такой код
Код
{spoiler=Spoiler1}
Spoiler1 example
{spoiler=Spoiler2}Tab1 example
{spoiler=Spoiler3}Tab2 example
{/spoilers}
Результат какой:
Спойлер
[свернуть]
Во втором примере, обработка как отдельных спойлеров, а хочу матрёшку)

Вот про такую матрёшку я спрашивал) В php, я делетант)
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #229 : 24.08.2015, 21:36:27 »
amikrage
Это просто Неправильное отображение браузера, не во-всех это заметно.
Кстати в каком вы работаете? Google Chrome
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #230 : 24.08.2015, 21:38:56 »
Только в коде правив?) Много возни?)
Нет там возни, тем более, когда за вас основную работу сделали
« Последнее редактирование: 24.08.2015, 21:43:17 от leo78 »
*

rmxirk

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #231 : 06.09.2015, 19:14:30 »
Здравствуйте!
Подскажите начинающему пользователю ^-^
как сделать чтобы открывалась таблица при нажатии на спойлер?
таблица в виде 2 колонок
1) наименование 2) цена и ниже строки с информацией
если такое вообще можно с помощью этого плагина
Спасибо
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #232 : 07.09.2015, 10:41:46 »
{spoiler=Под спойлером таблица}
Тут должна быть таблица
{/spoilers}
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #233 : 07.09.2015, 10:50:20 »
Пример 1: spoiler -> tab -> spoiler. Имеем такой код
Код
{spoiler=Spoiler1}
Spoiler1 example
{tab=Tab1}{spoiler=Spoiler2}Tab1 example
{tab=Tab2}{spoiler=Spoiler3}Tab2 example
{/tabs}
{/spoilers}
Вы хотите спойлер внутри таба, который тоже внутри спойлера? А зачем так сложно? Возможно, вы забыли закрыть спойлеры внутри табов:
{spoiler=Spoiler1}
Spoiler1 example
{tab=Tab1}{spoiler=Spoiler2}Tab1 example{/spoilers}
{tab=Tab2}{spoiler=Spoiler3}Tab2 example{/spoilers}
{/tabs}
{/spoilers}
*

rmxirk

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #234 : 08.09.2015, 04:48:58 »
{spoiler=Под спойлером таблица}
Тут должна быть таблица
{/spoilers}
Спасибо большое все получилось! :)
*

klulena

  • Захожу иногда
  • 56
  • 0 / 0
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #235 : 22.09.2015, 16:09:35 »
Не подскажите, как можно реализовать это?
Вставить картинку в названии и при загрузки страницы, не отображались вкладки?

Пример: http://www.croc.ru/about/direction/
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #236 : 26.01.2016, 21:45:56 »
Вопрос Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x - будет заточен под Bootstrap?


Простой Спойлер Bootstrap 3
Код
<p><a class="btn btn-primary" href="#spoiler-1" data-toggle="collapse">Открыть</a></p>
<div id="spoiler-1" class="collapse">
<div class="well">
<p>Текст спойлера</p>
</div>
</div>

Accordion example
Extend the default collapse behavior to create an accordion with the panel component.
http://getbootstrap.com/javascript/#buttons

Плагин NoNumber Sliders поддерживает Bootstrap
« Последнее редактирование: 28.01.2016, 02:45:01 от leo78 »
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #237 : 26.01.2016, 21:55:13 »
Вопрос Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x - будет заточен под Bootstrap?
Нет.
Из всех верстальщиков, которых  знаю, бутстрапом пользуется ровным счетом... - никто!
В основном все использую uikit и другие CSS фреймворки.
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #238 : 27.01.2016, 13:50:51 »
ELLE
Можно еще вопрос, как "Остановка видео после закрытия slider"?
Код
<iframe width="420" height="315" src="https://www.youtube.com/embed/6R4lE183lJQ" frameborder="0" allowfullscreen></iframe>
А то оно все играет и играет
 *DRINK*
*

dmitry_stas

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

JSLazyLoading — плагин для отложенной (ленивой) загрузки и мультивывода изображений

Автор Филипп Сорокин

Ответов: 36
Просмотров: 18072
Последний ответ 10.08.2025, 13:17:43
от kaaaaaljan
WT Telegram bot - отправка данных из Joomla в Telegram-бота

Автор sergeytolkachyov

Ответов: 4
Просмотров: 2822
Последний ответ 01.08.2025, 09:26:57
от sergeytolkachyov
Модуль вывода новостей. Joomla 3.x

Автор fbr

Ответов: 54
Просмотров: 28624
Последний ответ 22.07.2025, 10:13:22
от fbr
WT Content Image gallery контент плагин вставки изображений

Автор sergeytolkachyov

Ответов: 2
Просмотров: 2552
Последний ответ 08.07.2025, 17:29:40
от sergeytolkachyov
JL Like - Социальные кнопки для Joomla (новый взгляд)

Автор zikkuratvk

Ответов: 636
Просмотров: 106578
Последний ответ 07.07.2025, 11:00:34
от zikkuratvk