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

mi-xa

  • Захожу иногда
  • 76
  • 0 / 0
Замена сайта
« : 09.11.2011, 14:21:05 »
Всем привет!
Собираюсь старый сайт, сделанный на каком-то авторском движке заменить Joomla. Но некоторые страницы хорошо проиндексированны поисковиками. Например есть страница с путем (www.site.ru/catalog/27), её хорошо находят. Если я снесу старый сайт, то Joomla(при создании) автоматически присвоит страницам свои адреса. Можно ли принудительно переименовать пути к страницам и вместо этого окончания (option=com_content&view=article&id=2&Itemid=2) назначить имя _сайта/catalog/27  ?
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Замена сайта
« Ответ #1 : 09.11.2011, 14:30:58 »
Можно. Скорее всего сторонний СЕФ потребуется
*

mi-xa

  • Захожу иногда
  • 76
  • 0 / 0
Re: Замена сайта
« Ответ #2 : 09.11.2011, 17:18:13 »
Вы это имеете ввиду? http://ext.joom.ru/sef.html
То есть эта штука устанавливается как расширение и помогает формировать ссылки?


Что мне из этого( http://www.artio.net/downloads/joomla/joomsef ) качать? Или есть другие расширения?
« Последнее редактирование: 09.11.2011, 17:34:08 от mi-xa »
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Замена сайта
« Ответ #4 : 09.11.2011, 19:52:13 »
Ничего не рекомендую кроме как использовать Joomla 1.7, там вроде был компонент перенаправления ссылок.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

wfedin

  • Завсегдатай
  • 1273
  • 102 / 0
Re: Замена сайта
« Ответ #5 : 09.11.2011, 20:03:06 »
Ничего не рекомендую кроме как использовать Joomla 1.7, там вроде был компонент перенаправления ссылок.
+1
*

mi-xa

  • Захожу иногда
  • 76
  • 0 / 0
Re: Замена сайта
« Ответ #6 : 09.11.2011, 20:10:54 »
Я рекомендую sh404SEF
Спасибо! Уже скачал.
Там модуль и плагин, что устанавливать первым?
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Замена сайта
« Ответ #7 : 09.11.2011, 20:25:30 »
mi-xa, на данный момент не рекомендую использовать 1.5, смысла от этого никакого, с мая след. года её официально снимают с поддержки. А в 1.7 есть стандартный компонент для перенаправления ссылок (сам не использовал, но он должен по идее отдавать 301 для ПС). Или вы любитель извращений и потом будете мигрировать с 1.5 на 1.7? О_о
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Re: Замена сайта
« Ответ #8 : 09.11.2011, 21:45:07 »
Спасибо! Уже скачал.
Там модуль и плагин, что устанавливать первым?
Интересно, какой модуль может быть в SEF-компоненте?
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

mi-xa

  • Захожу иногда
  • 76
  • 0 / 0
Re: Замена сайта
« Ответ #9 : 09.11.2011, 23:06:05 »
Интересно, какой модуль может быть в SEF-компоненте?

Два архива: mod_shotimoo_1.1.3.26.zip; plg_shotimoo_1.1.3.26.zip
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Замена сайта
« Ответ #10 : 09.11.2011, 23:14:23 »
Цитировать
Shotimoo is a user notification system that is displayed to visitors on the frontend of your web site.
Или я английский ну совершенно не знаю или этот модуль имеет к SEF такое же отношение как "копейка" к самосвалу ?

-------------------------------
mi-xa, сказал же уже что нужно сделать чтобы не париться с SEF компонентами и ссылками. Или не ищете легких путей?
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Re: Замена сайта
« Ответ #11 : 10.11.2011, 01:58:30 »
sh404SEF==shotimoo? Не сходится.
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

mi-xa

  • Захожу иногда
  • 76
  • 0 / 0
Re: Замена сайта
« Ответ #12 : 10.11.2011, 21:54:31 »
sh404SEF==shotimoo? Не сходится.
Перейдите на "страницу загрузки" http://joomlaportal.ru/content/view/2197/70/
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Замена сайта
« Ответ #13 : 10.11.2011, 22:00:03 »
mi-xa, объясните для чего вы хотите использовать sh404SEF? Вот честно и открыто!

Перейдите на "страницу загрузки" http://joomlaportal.ru/content/view/2197/70/
И что дальше? лежит компонент и лежит модуль, никакого отношения они друг к другу не имеют.


voland, раскрой секрет методики гипноза ;) В 1.7 ведь реально есть компонент перенаправления, зачем мудрить с sh404SEF, а если ТС решил использовать 1.5, то на данный момент это уже глупым кажется.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

mi-xa

  • Захожу иногда
  • 76
  • 0 / 0
Re: Замена сайта
« Ответ #14 : 10.11.2011, 22:08:05 »
mi-xa, объясните для чего вы хотите использовать sh404SEF? Вот честно и открыто!
И что дальше? лежит компонент и лежит модуль, никакого отношения они друг к другу не имеют.
Я свою задачу изложил в заглавии этой темы. Конкретизирую вопрос.Могу ли я по этой ссылке http://anything-digital.com/downloads.html , полученной на joomlaportal,  скачать расширение которое позволит мне вручную именовать страницы сайта.
PS: ставить 1.7  - не вариант.
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Замена сайта
« Ответ #15 : 10.11.2011, 22:14:04 »
PS: ставить 1.7  - не вариант.
Причина? Реально со след. года вы окажетесь вынуждены обновить на 1.7, хотя к тому моменту уже на 2.5.

По идее вообще незачем вам этот комбайн, на JED смотрите компонент перенаправлений (если уперлись в использование J!1.5). Смысл не в задании ссылки, смысл в правильном перенаправлении на новую ссылку, а для этого можно использовать 301 редирект и не сношать себе моск и не насиловать сервер применяя sh404SEF. И стоит учесть что по ссылке версия sh404SEF для движка J!1.0.
Цитировать
sh404SEF (Joomla 1.0 only)

-------------------------
Месяца два назад мне СЕОшники размазывая по мордам сопли и слюни клялись и божились что им для задания тегов нужен sh404SEF - а это явный бред. Вот и вам так же - требуется перенаправление, а вы уперлись в совпадение адресов.
« Последнее редактирование: 10.11.2011, 22:17:29 от NightGuard »
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

mi-xa

  • Захожу иногда
  • 76
  • 0 / 0
Re: Замена сайта
« Ответ #16 : 10.11.2011, 22:26:46 »
А откуда и куда я буду перенаправлять? Старого сайта и его проидексированных страниц уже не будет. Мне нужно сейчас точь в точь, вручную задать названия страниц нового сайта. Мне нужно расширение для того, чтобы после надписи www.sait.ru_написать_название_каждой страницы вручную.
PS: с 1.7 будут несовместимы некоторые компоненты, которые уже установлены и которые будут работать только с 1.5.
 
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Замена сайта
« Ответ #17 : 10.11.2011, 23:05:31 »
с 1.7 будут несовместимы некоторые компоненты, которые уже установлены и которые будут работать только с 1.5. 
Например?

А откуда и куда я буду перенаправлять? Старого сайта и его проидексированных страниц уже не будет. Мне нужно сейчас точь в точь, вручную задать названия страниц нового сайта. Мне нужно расширение для того, чтобы после надписи www.sait.ru_написать_название_каждой страницы вручную.
Ерунду говорите. Составляете список страниц в индексе, переносите контент, ставите 301 редирект - профит. И не нужно ничего придумывать лишнего. А для справки гуглите и читаете что такое 301 редирект, и о боже! узнаете что это именно то что вам и требуется:
Цитировать
Код "301" интерпретируется как постоянное перемещение ("moved permanently").

Разжевываю: паук видя 301 понимает что по старому адресу страницы уже нет, она висит на новом адресе и переиндексирует ее, затем заменяет адрес в выдаче, юзверь тыкая в старую ссылку автоматически перенаправляется на новую страницу - всем профит! И не нужно ради такого ставить комбайны.

---------------------------

Ладно, это ваше глупое желание держаться за старое, только учтите - еще полгодика и придется вам переползать на 1.7.

---------------------------

Но по итогу это вы не понимаете то, о чем вам говорят и пытаются донести до вас.
« Последнее редактирование: 10.11.2011, 23:08:51 от NightGuard »
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

mi-xa

  • Захожу иногда
  • 76
  • 0 / 0
Re: Замена сайта
« Ответ #18 : 11.11.2011, 10:43:26 »
Составляете список страниц в индексе, переносите контент, ставите 301 редирект - профит. И не нужно ничего придумывать лишнего. А для справки гуглите и читаете что такое 301 редирект, и о боже! узнаете что это именно то что вам и требуется:
Где составляете список? С помощью чего? Ничего не понятно. Можно подробнее или ссылку на подобную тему.
Про "301 редирект" почитал, его не очень любят поисковики. Но всё что нашел, связано с изменением файла .htaccess с целью перенаправления на другой домен. Мне же нужно - для каждой страницы отдельно. Что для этого нужно сделать?
Разжевываю: паук видя 301 понимает что по старому адресу страницы уже нет, она висит на новом адресе и переиндексирует ее, затем заменяет адрес в выдаче, юзверь тыкая в старую ссылку автоматически перенаправляется на новую страницу - всем профит! И не нужно ради такого ставить комбайны.
Понял. Согласен. Можно и так. Как сделать? Дайте ссылку.
Но по итогу это вы не понимаете то, о чем вам говорят и пытаются донести до вас.
Вопрос прост. Есть ли компонент или способ на Joomla 1.5 для сохранения проиндесированных страниц при условии замены сайта? И давайте оставим рассуждения о обходных путях типа 1.7 , а просто найдем ответ на вопрос - "Есть ли такой компонент?" под 1.5
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Re: Замена сайта
« Ответ #19 : 11.11.2011, 10:52:39 »
2mi-xa
не проще сделать все на родном функционале
а если страниц не так уж не много в .htaccess редирект в ручную прописать
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Замена сайта
« Ответ #20 : 11.11.2011, 12:19:03 »
Цитировать
Про "301 редирект" почитал, его не очень любят поисковики.
Это еще почему?

Просто нагуглите 301 редирект, инфы много, и таки перенаправление возможно и внутри одного сайта, со старых адресов на новые.
На счет компонента под такое - посмотрите на JED.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

mi-xa

  • Захожу иногда
  • 76
  • 0 / 0
Re: Замена сайта
« Ответ #21 : 11.11.2011, 12:49:07 »
Спасибо, JED уже смотрел. Там всё по английски, и критерии поиска нужного компонента не понятны.
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Re: Замена сайта
« Ответ #22 : 11.11.2011, 13:03:37 »
Есть такая классная вещь как translate.google.com, странно это писать человеку, у которого проблемы с английским.
http://extensions.joomla.org/extensions/site-management/url-redirection - этот раздел посмотрите
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Замена сайта
« Ответ #23 : 11.11.2011, 13:09:56 »
Aleks_El_Dia, хе-хе раньше меня успел))
Вот - http://extensions.joomla.org/extensions/site-management/url-redirection/14676 - порт компонента редиректа ссылок для Joomla 1.5, изначально он был под 1.6.
------------------------------
И учите английский или китайски, и тот и другой языки пригодятся в будущем.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

mi-xa

  • Захожу иногда
  • 76
  • 0 / 0
Re: Замена сайта
« Ответ #24 : 11.11.2011, 23:35:20 »
Спасибо за ссылки! Теперь понятно, что качать. Буду юзать. С английским у меня норм, но обычный язык отличается от сленгового программистско-дизайнерского.
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Re: Замена сайта
« Ответ #25 : 12.11.2011, 00:40:52 »
Спасибо за ссылки! Теперь понятно, что качать. Буду юзать. С английским у меня норм, но обычный язык отличается от сленгового программистско-дизайнерского.
Небось plugins, components & modules смущают?  :)
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Чем лучше всего делать резервные копии сайта?

Автор 7Azimuth

Ответов: 115
Просмотров: 57380
Последний ответ 29.11.2023, 14:41:12
от sivers
Joomla 1.5 как убрать кнопку редактировать материант с сайта

Автор andriy465

Ответов: 5
Просмотров: 3648
Последний ответ 12.11.2023, 23:37:03
от all_zer
Не могу распаковать jpa архив сайта Akeeba backup. ajax error

Автор smadkz

Ответов: 4
Просмотров: 1775
Последний ответ 26.12.2020, 15:15:15
от stendapuss
Версия сайта для слабовидящих

Автор nikos

Ответов: 22
Просмотров: 44201
Последний ответ 27.11.2020, 11:04:18
от chernobyl
Поиск статьи по url сайта в админке Joomla 1.5

Автор Tema

Ответов: 5
Просмотров: 2032
Последний ответ 14.08.2020, 07:16:44
от rsn