Новости 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 Пользователей и 3 Гостей просматривают эту тему.
  • 557 Ответов
  • 127831 Просмотров
*

Vitsss

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
  • www.tvrus.se
К сожалению не работает ссылка на одиночный файл...  Вопросы тут такие задавались но остались без ответа... Можно конечно создавать кучу папок с одним файлом...тогда всё сработает, но считаю это не выход... А жаль
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Вы про какой плагин? В том, что приложен, и в про-версии ссылка на одиночный файл работает.
Например:
Код
{music}vlad/Demo_Version_2006/Wladyslaw_E._Napalkoff_-_Noch.mp3{/music}
Путь к файлу нужно указывать относительно корневой папки сайта.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Теперь и в обычной версии, доступной для скачивания!

Цитировать
9.
Возможно указать в конструкции в качестве дополнительного параметра другую папку, в которой содержатся файлы для воспроизведения (например, с пониженным битрейтом). Формат: {music prev=prevfolder}folder{/music} В таком случае для скачивания будет предлагаться файл из основной папки (далее - Оригинал), а для воспроизведения - одноименный ему файл из другой папки.
Внутренняя структура папок и файлов в папке для воспроизведения не важна. Главное условие - совпадение имени файла для воспроизведения с именем Оригинала. Все пути задаются относительно корневой папки Вашего сайта!
______________________________________
Поскольку добавить файл в этот форум временно не представляется возможным, берем его вот тут: plg_mp3browser.zip

Ну и стили кое какие поправил... чтобы было луччее. :)
« Последнее редактирование: 01.04.2011, 13:41:23 от ecolora »
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

airhat

  • Новичок
  • 7
  • 0 / 0
хочу приобрести
не могу достучаться до тебя
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Уже ответил в почте...
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
Спасибо. Очень полезный плагин. Взял  про версию.
Всё есть в тебе. Реализовывайся.
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Спасибо. Очень полезный плагин. Взял  про версию.

Вам и остальным спасибо за поддержку проекта!

Добавил 2 параметра в Pro-версию:

  • Показывать столбец для скачивания: Да, Нет, Группе доступа.
  • Доступ к скачиванию: Public, Registered, Special (в последней группе все, которые не входят в другие, в том числе и manager, admin и т.п.).

Подробнее тут...
« Последнее редактирование: 15.04.2011, 04:59:34 от ecolora »
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Dencv

  • Захожу иногда
  • 61
  • 0 / 0
Спасибо ecolora за хороший плагин. Я приобрел MP3Browser Pro, подправил под свой сайт - отличненько на мой взгляд.
Посмотреть можно здесь - http://crystalvista.ru/
Есть вопросик: объект с классом playerpreview отображается в виде белой точки, скрыть или перекрасить не получилось. Что можно с этим сделать?
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
Спасибо ecolora за хороший плагин. Я приобрел MP3Browser Pro, подправил под свой сайт - отличненько на мой взгляд.
Посмотреть можно здесь - http://crystalvista.ru/
Есть вопросик: объект с классом playerpreview отображается в виде белой точки, скрыть или перекрасить не получилось. Что можно с этим сделать?
Классно сделал стили.
Маленький баг, при регулировании громкости, перескакивает на следующий трек.
Всё есть в тебе. Реализовывайся.
*

Dencv

  • Захожу иногда
  • 61
  • 0 / 0
Да, спасибо, тоже заметил только-что. Вообще убрал пока громкость - она мне кажется не нужна в принципе.
« Последнее редактирование: 14.04.2011, 01:34:29 от Dencv »
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Спасибо ecolora за хороший плагин. Я приобрел MP3Browser Pro, подправил под свой сайт - отличненько на мой взгляд.
Вам также спасибо за поддержку проекта!
Классно сделал стили.
Маленький баг, при регулировании громкости, перескакивает на следующий трек.
Да, стили симпатичные! Видно, что человек разбирается в стилях.

Исправьте в style.css ширину класса .playercontroller на 149px. Код <div class="volcontainer"></div> вытащите из <div id="playercontroller...</div> (как было изначально), сделайте volcontainer видимым и можете ему установить на задний фон заднюю обрезанную часть Вашей картинки images/my_slider01.png, и ширину его поправьте если понадобится. И будет у Вас громкость работать нормально.

И ещё... зря Вы spinner спрятали... по-моему удобно, когда видишь, что композиция загружается.
« Последнее редактирование: 14.04.2011, 04:52:56 от ecolora »
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Dencv

  • Захожу иногда
  • 61
  • 0 / 0
Цитировать
Да, стили симпатичные! Видно, что человек разбирается в стилях.
Не так как хотелось бы... в IE6 разлетелось всё нафиг. Но спасибо ^-^
Цитировать
Исправьте в style.css ширину класса .playercontroller на 149px. Код <div class="volcontainer"></div> вытащите из <div id="playercontroller...</div> (как было изначально), сделайте volcontainer видимым и можете ему установить на задний фон заднюю обрезанную часть Вашей картинки images/my_slider01.png, и ширину его поправьте если понадобится. И будет у Вас громкость работать нормально.
Исправил. Теперь вроде не перескакивает... Правда громкости всё-таки решил скрыть и на её место поставил spinner - он конечно нужен.

Есть идеи по доработке:
1. Общая громкость
2. Текущее время проигрывания


 
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
ХЕ ХЕ !дело в том, что я это уже понял, у меня на сервере с сайтом тоже место есть, но сам сайт на одном жестком диске располагается(минимальной емкости), а данные для него я заливаю на другой!так, что по любому вложенной папкой я не смогу в сайт сделать!
Перечитывал предложения и наткнулся на Ваше... А если использовать в пути конструкцию вида /../../../../ и т.п. не доберетесь до своего диска?
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Есть идеи по доработке:
1. Общая громкость
2. Текущее время проигрывания
Реализуемо... добавил в планы (с неопределенными сроками)... если нужно быстрее, пишите. :-)
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Dencv

  • Захожу иногда
  • 61
  • 0 / 0
Что-же делать с <object class="playerpreview"...  в виде белых точек?
Цитировать
Реализуемо... добавил в планы (с неопределенными сроками)... если нужно быстрее, пишите. :-)
Мне кажется что это добавило бы интереса к PRO версии...
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Я Вам отправил последнюю версию... исчезли точки?
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Dencv

  • Захожу иногда
  • 61
  • 0 / 0
Нет, не работает. Если дело в
Код
<div style="display: none;">
я пробовал - не грузятся файлы. И
Код
width="0" height="0"
- тоже-самое получается...
При запуске застывает в таком положении

« Последнее редактирование: 16.04.2011, 00:41:04 от Dencv »
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Ок, пошукаю в интернете, как флеш прячут. :-)
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Dencv

  • Захожу иногда
  • 61
  • 0 / 0
Его как то можно прозрачным сделать - сам SWF я имею ввиду..
*

Dencv

  • Захожу иногда
  • 61
  • 0 / 0
Оказалось просто:
Внутри object вставил
Код
<PARAM NAME=wmode VALUE=transparent>
*DRINK*
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Спасибо. Учел.
« Последнее редактирование: 18.04.2011, 05:05:02 от ecolora »
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
В новой про-версии плагина добавлена поддержка параметра rows= (сколько строк выводить максимум) в каждой конструкции {music_pro}{/music_pro}, а также исправлены ошибки пагинации в случае вывода нескольких конструкций на одной странице
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

ЖиВоЙ

  • Захожу иногда
  • 362
  • 3 / 0
значит для Joomla 1.6 версия недоступна?
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
значит для Joomla 1.6 версия недоступна?
Обычная нет. Про-версия работает на 1.6. Вот пример
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Escalade

  • Захожу иногда
  • 193
  • 27 / 0
ecolora
Вы у меня на сайте оставляли комментарии)
Загрузка файлов реализована примитивна - модули флеш загрузки, для каждой категории в своей позиции, каждый модуль настроен на закачку файлов в папку с музыкой.
Плагин установлен с данной темы.

Спасибо за плагин)))
...
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Не за что... планирую сделать загрузку в про-версии.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Escalade

  • Захожу иногда
  • 193
  • 27 / 0
А как приобрести про версию?
Если принимаете советы - подумайте над изменением тегов в файлах прямо на сайте. Я использую для этого библиотеку getid3, она работает но довольно нехорошо...
...
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Я не понял насчет изменения тегов в файлах прямо на сайте... каким образом Вы это делаете? Давайте это и приобретение про-версии обсудим почтой ecolora@mail.ru, в привате или по ICQ.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora

Привет всём!

Приобрёл плагин. Хороший, простой, гибкий. Респект автору.

Стоит на - http://www.kirillovm.ru/Albums/privet.html

На все возникаюшие проблемы автор откликается моментально. Спасибо ему за поддержку.

Дл изменений тэгов пользуюсь Tagscan  - http://www.xdlab.ru/en/download.htm
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Приобрёл плагин. Хороший, простой, гибкий. Респект автору.
На самом деле не до конца ещё гибкий, многое в планах... потихоньку реализовываю.

Но то что достаточно функциональный ("хороший" :-)) по сравнению с исходной версией - соглашусь. :-)

Вам спасибо за поддержку!
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин "Русская типографика"

Автор Physicist

Ответов: 261
Просмотров: 156153
Последний ответ 13.03.2025, 20:06:50
от Olg
Мастерю плагин для админки - оплата налом или по карте при самовывозе

Автор kkmspb

Ответов: 0
Просмотров: 1282
Последний ответ 27.08.2024, 15:39:37
от kkmspb
Плагин LVSpoiler - спойлеры с динамической загрузкой изображений

Автор Arkadiy

Ответов: 449
Просмотров: 101916
Последний ответ 20.04.2024, 21:10:33
от Beer
Плагин StopKids для маркировки сайта знаком 18+ для Joomla 1.5-3.x

Автор ecolora

Ответов: 40
Просмотров: 22644
Последний ответ 19.03.2023, 18:55:08
от ecolora
Плагин seoLinks

Автор alexandr-spb

Ответов: 0
Просмотров: 2639
Последний ответ 26.01.2023, 23:08:41
от alexandr-spb