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

Saxar

  • Новичок
  • 3
  • 0 / 0
Здравствуйте!
Подскажите пожалуйста новичку - как сделать mp3 браузер на сайте вот как здесь http://napalkoff.ru/index.php?option=com_content&view=article&id=72
На странице где нужен браузер mp3 прописываю вот что - {music}www/images/stories/mymusic{/music} - что не так и что нужно дописать?
Попытался сделать у себя на сайте выдает вот такую штуку - Warning: opendir(Q:\home\testsait\www\stories/mymusic) [function.opendir]: failed to open dir: No error in Q:\home\testsait\www\plugins\content\mp3browser.php on line 120

Warning: closedir(): supplied argument is not a valid Directory resource in Q:\home\testsait\www\plugins\content\mp3browser.php on line 256

Вставил вот такую команду - {play}images/stories/mymusic{/play} - появилась только таблица - я новичок если можно пошагово объяснить где что прописать и вставить буду очень благодарен!
*

Saxar

  • Новичок
  • 3
  • 0 / 0
Сорри разобрался - на самом деле тут не очень понятно - смысл следующий - "В КОРНЕ САМОГО" сайта нужно создать папку music,далее создаете mymusic и в эту папку заливаете все что вам нужно - далее на странице где бы вы хотели выложить муз.материал - пишите и все готово {music}music/mymusic{/music} - обновляете страницу и готово - браузер сам формирует таблицу и наслаждайтесь!
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Основной вопрос: есть ли возможность воспроизводить треки со сторонних серверов? т.е. указать путь не на папку с файлами в корне сайта, а ссылку на внешний ресурс, где собственно и лежат сами файлы. Собственные ресурсы нужный объем просто не потянут.

Теперь можно! В Comemdia добавлена возможность воспроизведения музыкальных композиций с внешнего ftp-сервера.

Подробности тут:

Commedia 1.3 для музыкальных сайтов

Всем пользователям, исполнившим требование о наличии копирайта (ссылки на мой сайт) обновления разошлю сам.
« Последнее редактирование: 13.10.2011, 11:23:59 от ecolora »
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Langoliers

  • Давно я тут
  • 621
  • 67 / 2
  • Если б Я изучал людей, то был бы паразитологом
Отличный компонент! Просто супер! Все отлично работает! Гибкие настройки, включая дизайн (что отличает его от плагина MP3 Browser) И практически отсутствует Flash
Всем советую! Не пожалел ни рубля =)
« Последнее редактирование: 16.10.2011, 11:21:08 от Langoliers »
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Отличный компонент! Просто супер! Все отлично работает! Гибкие настройки, включая дизайн (что отличает его от плагина MP3 Browser)
Всем советую! Не пожалел ни рубля =)
Спасибо за поддержку проекта!
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
И вновь . На сей раз наиболее значимые - это:
  • Скрыты прямые пути к файлам для скачивания и воспроизведения в таблице музыкальных композиций.
  • Реализовано скачивание mp3-файлов вместо проигрывания при нажатии на кнопку «Скачать» в Google Chrome.
  • Добавлена поддержка русских имен папок и файлов в кодировке cp1251.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Doran

  • Захожу иногда
  • 104
  • 0 / 0
Подскажите, а как сделать так, чтобы нельзя было проигрывать сразу несколько композиций
*

ecolora

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

brendi

  • Новичок
  • 9
  • 0 / 0
Уважаемый автор! Очень прошу вас помочь разобраться в кодировке тегов. Пробовала в разных программах изменять кодировку тега ID3v2.3, но UTF8 поддерживает только ID3v2.4 и при этом названия песен на русском все равно отображаются крокозябрами.
Мне очень-очень нужно, чтобы названия были на русском! Помогите пожалуйста!
Заранее очень вам благодарна ))
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Какой адрес у Вашего сайта? Если он локальный, пришлите, пожалуйста несколько песен на ecolora@gmail.com. Непонятно о каком плагине речь? у Вас Joomla 1.5 и mp3browser_new с моего сайта? Или версия Joomla 1.7 и плагин с сайта Доткомдевелопмент? Слишком мало информации.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

brendi

  • Новичок
  • 9
  • 0 / 0
Спасибо, что ответили! У меня стоит Joomla 1.5 и mp3browser с вашего сайта.
Плагин у вас очень хороший, вы большой молодец! Чуть позже планирую приобрести профессиональную версию, но вот вопрос с отображением русского языка в названии песен остается открытым. Сайт стоит не на  локалке, а на хостинге.
Может я что-то неправильно делаю?
« Последнее редактирование: 31.10.2011, 12:08:29 от brendi »
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Спасибо за лесть и обещания будущего приобретения про-версии. Но я и без этого постараюсь помочь. ;-)
Файлы Ваши не пришли. Вы точно на мой адрес отправили?
« Последнее редактирование: 31.10.2011, 13:28:35 от ecolora »
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Langoliers

  • Давно я тут
  • 621
  • 67 / 2
  • Если б Я изучал людей, то был бы паразитологом
Кнопочка "Повтор" не помешала бы в Commedia! =)
*

ecolora

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

Langoliers

  • Давно я тут
  • 621
  • 67 / 2
  • Если б Я изучал людей, то был бы паразитологом
Нет, именно повтор одной песни =)
*

ecolora

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

Langoliers

  • Давно я тут
  • 621
  • 67 / 2
  • Если б Я изучал людей, то был бы паразитологом
Ну вот например трэков на странице много. А я хочу послушать один. Включил, а он как закончился включился другой (отключать эту функцию не нужно), а я хочу этот трэк слушать еще и еще... приходится искать сайт во вкладках, жмакать стоп и плей. :)
*

ecolora

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

Langoliers

  • Давно я тут
  • 621
  • 67 / 2
  • Если б Я изучал людей, то был бы паразитологом
Конечно есть! В AIMP2 например это выглядит так:

Нажимаешь повтор и плеер начинает трэк по кругу гонять без моего участия. Еще в JPlayer (http://www.jplayer.org/latest/demo-01/) есть такое:

ВКонтакте тоже есть такая функция =)
*

ecolora

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

gdrg

  • Захожу иногда
  • 80
  • 5 / 0
Цитировать
Ну если везде есть, придется добавлять в следующих версиях. Спасибо. :-)
Правильно, функция оч необходимая. Кстати до вас модуль, что я обещал долетел?
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
В предверии грядущего очередного релиза компонента Commedia для музыкальных сайтов решено было также обновить бесплатную библиотеку GetID3 в составе бесплатной версии плагина MP3BrowserNew  до GetID3 1.9.1 от 10 августа 2011 г.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Выпущена Commedia 1.5

Помимо того, что исправлено множество некритичных ошибок, наиболее главных обновления, на мой взгляд - два:

1. Код Commedia изменен, чтобы пройти валидацию на validator.w3.org. Говорят, что поисковики очень любят такие сайты. Если это так, то Ваш сайт с Commedia теперь они полюбят еще больше! :-))

2. В редакторе материалов при нажатии на кнопку Commedia теперь не вставляется код {commedia}{/commedia}... зато... теперь появляется всплывающее окно, в котором Вы можете выбрать все интересующие Вас параметры для тегов и автоматически сформировать нужную конструкцию. Например, теперь Вам не нужно набирать путь к папке с музыкальными файлами, Вы можете его выбрать удобным способом.
Уверен, о некоторых возможностях Commedia, Вы до сих пор даже не догадывались (например возможность брать данные из базы. а не сканировать каждый раз одну и ту же папку).

Пусть Вас не пугает наличие множества параметров... по-умолчанию будет вставляться всё тот же обычный код {commedia}{/commedia}

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

ecolora

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

monstertext

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Как сделать что бы русские теги не выходили такими крякозябрами плагин mp3browser (новый скачал), кодировка тут нипричем, менял на утф 8, кто подскажет, выводит сейчас вот так - Äðåâíÿÿ Ðóñü è Âåëèêàÿ Ñòåïü
(Ãóìèëåâ Ë.)
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Как сделать что бы русские теги не выходили такими крякозябрами плагин mp3browser (новый скачал), кодировка тут нипричем, менял на утф 8, кто подскажет, выводит сейчас вот так - Äðåâíÿÿ Ðóñü è Âåëèêàÿ Ñòåïü
(Ãóìèëåâ Ë.)
Тут причем кодировка тегов id3v1 непосредственно в Вашем файле, если они заполнены конечно.
Смотрите вот это сообщение из этой же темы.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

ecolora

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

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Вышла версия 1.6

Давно просили сортировку по дате (с возможностью отметить новые файлы), а также подсчет количества воспроизведений (прослушиваний). Сделано!
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Langoliers

  • Давно я тут
  • 621
  • 67 / 2
  • Если б Я изучал людей, то был бы паразитологом
Отличное обновление! Не перестаю радоваться обновлениям и появляющемуся функционалу! Ждем кнопочку повтора! Спасибо!
*

Langoliers

  • Давно я тут
  • 621
  • 67 / 2
  • Если б Я изучал людей, то был бы паразитологом
Оффтоп безумной идеи ::)
Спойлер
[свернуть]
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор Physicist

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

Автор kkmspb

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

Автор Arkadiy

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

Автор ecolora

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

Автор alexandr-spb

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