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

castello

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Помогите, кто преобразовывал в нормальные ссылки для hwdvideoshare. Получается так, что просто выкидывает на главную страницу ((
Во вложение имеется файл Readme с таким содержанием:
Код
####
OPEN (not with WordPad)
####

administratorcomponentscom_sh404sefsh404sef.class.php



####
FIND
####

var $shRemoInsertCategoryId = false;



###########
PASTE AFTER
###########


   hwdVideoShare
  var $hwdVideoShare_MenuTitle = true;
   if 0, no categories will be inserted in URL for a video
     if 1, only 'last' category will be inserted in URL
     if 2, all nested categories will be inserted in URL
  var $hwdVideoShare_Categories = 2;
   if true, id will be prepended to name
  var $hwdVideoShare_VideoId = false;
  var $hwdVideoShare_CategoryId = false;
  var $hwdVideoShare_GroupId = false;

Куда этот код вставлять?

[вложение удалено Администратором]
« Последнее редактирование: 24.03.2010, 12:19:10 от castello »
*

nc

  • Осваиваюсь на форуме
  • 29
  • 11 / 0
  • Эх раззз, да еще разззз...
Re: плагин для sh404SEF под hwdvideoshare
« Ответ #1 : 09.06.2010, 21:13:30 »
На самом деле, строчка "var $shRemoInsertCategoryId = false;" есть в файле
"administrator/components/com_sh404sef/SEFConfig.class.php",
а не в "administrator/components/com_sh404sef/sh404sef.class.php", как ошибочно (я так думаю) указано в файле Readme из архива с плагином... Вставил я туда код, указанный в Readme, и все стало окейно! Для пущего "улучшения" ссылок, я добавил в настройках "sh404sef", в закладке "Компоненты", в поле "Имя по умолчанию", псевдоним каталога "videoblog" (это я для себя... можно ставить туда свои псевдонимы), напротив компонента "hwdvideoshare"...
Теперь ссылки выглядят примерно так: "http://sample.com/videoblog/frontpage.html"...

Надеюсь, что помог... ;) Если нет, то пишите в этот топик, разберемся вместе...
Попали в ДТП? Нужна помощь? Поможем, чем сможем: Онлайн оценка ущерба от ДТП

Нужен быстрый / стабильный / дешевый хостинг для сайта? Вот он!
*

Wassup

  • Захожу иногда
  • 64
  • 2 / 0
Re: плагин для sh404SEF под hwdvideoshare
« Ответ #2 : 10.09.2010, 19:37:22 »
После добавления этих строк у меня Joomla перестает работать и выдает ошибку
Parse error: syntax error, unexpected T_STRING, expecting T_FUNCTION in /home/n/niggaekb/public_html/administrator/components/com_sh404sef/SEFConfig.class.php on line 243
*

nc

  • Осваиваюсь на форуме
  • 29
  • 11 / 0
  • Эх раззз, да еще разззз...
Re: плагин для sh404SEF под hwdvideoshare
« Ответ #3 : 10.09.2010, 20:10:55 »
После добавления этих строк у меня Joomla перестает работать и выдает ошибку
Parse error: syntax error, unexpected T_STRING, expecting T_FUNCTION in /home/n/niggaekb/public_html/administrator/components/com_sh404sef/SEFConfig.class.php on line 243

Похоже на ошибку синтаксиса... Посмотрите внимательно код в этой строке(243), может где кавычку не закрыли или скобку, или символ какой-нибудь в русской раскладке введен... Если не найдете ошибку, то покажите код, который вставили, желательно в том виде, на который ошибка выходит...
Попали в ДТП? Нужна помощь? Поможем, чем сможем: Онлайн оценка ущерба от ДТП

Нужен быстрый / стабильный / дешевый хостинг для сайта? Вот он!
*

Wassup

  • Захожу иногда
  • 64
  • 2 / 0
Re: плагин для sh404SEF под hwdvideoshare
« Ответ #4 : 10.09.2010, 23:43:25 »
спасибо)) разобрался, надо было

if 0, no categories will be inserted in URL for a video
     if 1, only 'last' category will be inserted in URL
     if 2, all nested categories will be inserted in URL

закоментировать, а я не заметил, текст просто копировал от сюда а не из Read me))
*

Wassup

  • Захожу иногда
  • 64
  • 2 / 0
Re: плагин для sh404SEF под hwdvideoshare
« Ответ #5 : 10.09.2010, 23:44:24 »
А можно ли что бы в ссылке отображался id видео, просто по id видео можно вставлять в материалы, а у авторов на сайте нет прав на админку.
Еще не подскажите как в sh404SEF 2 очистить все ссылки
« Последнее редактирование: 11.09.2010, 00:36:27 от Wassup »
*

nc

  • Осваиваюсь на форуме
  • 29
  • 11 / 0
  • Эх раззз, да еще разззз...
Re: плагин для sh404SEF под hwdvideoshare
« Ответ #6 : 11.09.2010, 15:10:20 »
А можно ли что бы в ссылке отображался id видео, просто по id видео можно вставлять в материалы, а у авторов на сайте нет прав на админку.
Еще не подскажите как в sh404SEF 2 очистить все ссылки

По поводу "id видео" - можно попробовать "поиграть" с плагином /components/com_sh404sef/sef_ext/com_hwdvideoshare.php, с кодом после "case 'viewvideo':"... Там можно выстроить строку ссылки... А лучше поискать плагин для кнопки в редакторе, что б можно было вставлять видео из каталогов hwdVideoShare, по подобию AllVideos...

По поводу "как в sh404SEF 2 очистить все ссылки", скажу, что не пользовался пока "sh404SEF 2", но при беглом просмотре на локалке, считаю, что можно удалять все через "Url manager", пока не выявится явный метод очистки SEF-ссылок, как в пред.версиях...
Попали в ДТП? Нужна помощь? Поможем, чем сможем: Онлайн оценка ущерба от ДТП

Нужен быстрый / стабильный / дешевый хостинг для сайта? Вот он!
*

xCoReLx

  • Захожу иногда
  • 243
  • 7 / 0
Re: плагин для sh404SEF под hwdvideoshare
« Ответ #7 : 12.09.2010, 19:58:29 »
Парни сделал всё ка вы сказали но при нажатии на добавить видео или любую другую ссылку компонета выкидывает на главную вот
http://mtb7vetrov.ru/video
*

ERTQ

  • Захожу иногда
  • 61
  • 0 / 0
Re: плагин для sh404SEF под hwdvideoshare
« Ответ #8 : 14.09.2010, 18:41:57 »
Здравствуйте. Пытаюсь установить плагин для компонента hwdVideoShare pro r380. Использую readme, вложенное в компонент и вот что интересно. Следуя по пути JoomlaRoot/components/com_hwdvideoshare/sef_ext/com_hwdvideoshare.php, я не нахожу папку sef_ext. Подскажите, пожалуйста, что и где я пропустил? Благодарю.
*

xCoReLx

  • Захожу иногда
  • 243
  • 7 / 0
Re: плагин для sh404SEF под hwdvideoshare
« Ответ #9 : 14.09.2010, 21:51:42 »
Ну начнем с того, что путь не верный :)

/components/com_sh404sef/sef_ext/com_hwdvideoshare.php и файлик этот скопировать туда надо но у меня появились косяки, выдает 404 на видео в названии которого испольовалаль (точка) это не очень радует
*

ERTQ

  • Захожу иногда
  • 61
  • 0 / 0
Re: плагин для sh404SEF под hwdvideoshare
« Ответ #10 : 15.09.2010, 15:19:55 »
Закинул я файл com_hwdvideoshare.php по мануалу, который прилагался к компоненту hwdVideoShare pro r380, куда и написано. Только в этом варианте: JoomlaRoot/components/com_hwdvideoshare/sef_ext/com_hwdvideoshare.php (папки sef_ext у меня просто нет), файл com_hwdvideoshare.php, я закинул в JoomlaRoot/components/com_hwdvideoshare/com_hwdvideoshare.php (добавил его). И сюда: JoomlaRoot/components/com_sh404sef/sef_ext/com_hwdvideoshare.php (так же добавил). Все кажется работает (во всяком случае все ссылки ведут туда куда нужно, все отображается верно и соответствует разделам). Пользуюсь sh404SEF 2 2.0.3.545.
*

xCoReLx

  • Захожу иногда
  • 243
  • 7 / 0
Re: плагин для sh404SEF под hwdvideoshare
« Ответ #11 : 16.09.2010, 22:56:53 »
Парни подскажете, установил я еще hwdPhotoShare, тоже использовал плагин только ко всем ссылкам добавляется */Page-1 как её убрать блин?
*

victualiya

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Re: плагин для sh404SEF под hwdvideoshare
« Ответ #12 : 25.09.2010, 00:30:19 »
все сделала как написано в мануале - все равно выдавало ошибку... тогда в настройках компонента sh404SEF установила не переводить ссылку и не замещать sef_ext файл... и вуаля!))) заработало)))
*

yevrowl

  • Захожу иногда
  • 268
  • 10 / 0
Re: плагин для sh404SEF под hwdvideoshare
« Ответ #13 : 12.06.2011, 14:38:14 »
поставил компонент, добавил псевдоним в sh404, но нормально все равно не отображается. Показывается вида site.ru/frontpage.html и site.ru/nazvanie-video.html (без урла категории).
hwdvideoshare 655

Подскажите в чем может быть причина?
Наверное можно использовать альтернативный плагин (см. вложение).

[вложение удалено Администратором]
*

yevrowl

  • Захожу иногда
  • 268
  • 10 / 0
Re: плагин для sh404SEF под hwdvideoshare
« Ответ #14 : 12.06.2011, 18:44:38 »
Базовая поддержка есть, но как можно тонко настроить непонятно - в списке нету:



Хотелось бы заменить заголовки на алиасы в ссылках. Версия sh404SEF - 2.2.6.973.
« Последнее редактирование: 12.06.2011, 19:06:05 от yevrowl »
*

yevrowl

  • Захожу иногда
  • 268
  • 10 / 0
Re: плагин для sh404SEF под hwdvideoshare
« Ответ #15 : 24.06.2011, 10:24:04 »
В общем вроде бы всё завёл, но одна проблема осталась - при включении sh404SEF перестаёт работать рейтинг роликов. При нажатии звёзды просто исчезают.
*

lexx74

  • Захожу иногда
  • 158
  • 1 / 0
Re: плагин для sh404SEF под hwdvideoshare
« Ответ #16 : 06.03.2012, 20:17:26 »
не скажите как сделали, чтобы название категории было в в сылке?
Ссылки на видео отображаются правильно а на категории все Урлы ведут на главную сайта
*

EpiFun

  • Захожу иногда
  • 52
  • 0 / 0
Re: Плагин для sh404SEF под hwdvideoshare
« Ответ #17 : 13.11.2012, 22:29:29 »
Всем привет! Где можно вручную изменить ссылку на видео, например .../---qq--4 на .../name ? В базе данных не нашёл
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

sh404SEF + OSMap Free

Автор xlenivecx

Ответов: 5
Просмотров: 3460
Последний ответ 14.12.2019, 22:34:33
от draff
Теги на страницах навигации sh404SEF

Автор alexey711

Ответов: 2
Просмотров: 3237
Последний ответ 25.06.2019, 15:02:55
от alexey711
Как выключить отображение кода модуля на странице 404 работающей через sh404SEF?

Автор Dim

Ответов: 1
Просмотров: 3551
Последний ответ 05.11.2018, 22:56:47
от Dim
Убрать слэши sh404SEF

Автор romagromov

Ответов: 1
Просмотров: 3771
Последний ответ 16.06.2018, 12:03:05
от romagromov
Управление 404 ссылками в sh404SEF

Автор Afman

Ответов: 0
Просмотров: 3706
Последний ответ 09.06.2018, 20:15:30
от Afman