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

said_t

  • Новичок
  • 5
  • 0 / 0
Исчезает дизайн сайта
« : 31.07.2009, 16:21:35 »
День добрый! С двигом Joomla не приходилось работать. Есть готовый сайт, упроосили добавить контент.
при переходах по внутренним ссылкам сайта не отображается дизайн, такое впечатление, что файлы стилей исчезли, адресс в адресной строке становится длинее со вставкой ненужных названий папок и файлов типа: хттп://мой_сайт.ру/index.php/index.php/2008-11-23-21-02-22 (это главная - хттп://мой_сайт.ру/index.php), если адресс задать правильно, то сайт отображается нормально.
Через время (пару дней) отображение нормализуется. Смотрю на сайт с двух различных мест. Происходит этот глюк после обновления, дополнения контента.
Куда смотреть в первую очередь. ведь на изучения двига потребуется время.
*

doctorgrif

  • Давно я тут
  • 745
  • 82 / 1
  • Нудный доктор
Re: Исчезает дизайн сайта
« Ответ #1 : 31.07.2009, 16:25:22 »
первое время стоит смотреть в сторону FAQ по системе:) и в сторону чтения аналогичных "проблемных" постов на тематическом (читай - этом) форуме
Омск-Екатеринбург-Челябинск...Feldzug gen Westen | Кафедра | GrayBox | Joostina 1.2.1 | Joostina Extensions | In Vino Veritas [в работе]
*

said_t

  • Новичок
  • 5
  • 0 / 0
Re: Исчезает дизайн сайта
« Ответ #2 : 31.07.2009, 17:26:49 »
большое багодарю, я регинился здесь 28.07.2009 и до сегодня время затратил на изучение форума как структуры и как содержимое, естественно меня интересовал мой вопрос, много читал, о самом двиге находил что то похожее, но нормального ответа ненашел, (конечно, не исключено, что такой ответ есть). Но если бы я достал тему 3 летней давности, то как бы меня назвали?

И если гуру тяжело ответить, пускай не отвечает,  есть и начинающие, которые били лбы о такие камни и помнят где эти камни.

Конечно извиняюсь, но зачем форум? вывешайте ссылки на учебники по основным дисциплинам и пущай учаться.
*

poizon

  • Захожу иногда
  • 495
  • 187 / 1
  • Buu
Re: Исчезает дизайн сайта
« Ответ #3 : 31.07.2009, 17:31:12 »
откройте исходный код страницы и посмотрите как прописан путь к файлу стилей.

Как открыть "исходный код страницы"
1) открываем сайт
2) правой кнопкой
3) исходный код или что-то из серии просмотр HTML кода
4) ищите кусок с <link rel="......
*

said_t

  • Новичок
  • 5
  • 0 / 0
Re: Исчезает дизайн сайта
« Ответ #4 : 31.07.2009, 19:52:12 »
почемуто у меня под <link rel="...... прописана иконка сайта

этот путь все время меняется.
При правильном отображении страницы:

<link href="/templates/rt_rokwebify_v1.5/css/template_ie.css" rel="stylesheet" type="text/css" />

<link rel="shortcut icon" href="/images/favicon.ico" />

один из вариантов когда глючит:

<link href="/index.php/components/com_xmap/plugins/system/yoo_effects/templates/rt_rokwebify_v1.5/css/template_ie.css" rel="stylesheet" type="text/css" />

<link rel="shortcut icon" href="/index.php/components/com_xmap/plugins/system/yoo_effects/images/favicon.ico" />

это две и те же строки в разное время, оказывается сегодня прорвало на несколько минут и я увидел нормально

так же меняются адреса одного и тоже перехода вот эксперементировал:
главная страница сайта с перехода со страницы каталога контента:

хттп://мой_сайт.ру/index.php?option=com_content&view=frontpage&Itemid=59

хттп://мой_сайт.ру/index.php/index.php?option=com_content&view=frontpage

хттп://мой_сайт.ру/index.php/partners/index.php?option=com_content&view=frontpage&Itemid=59

хттп://мой_сайт.ру/index.php/components/com_xmap/css/

хттп://мой_сайт.ру/index.php/components/com_xmap/plugins/system/yoo_effects/index.php?option=com_content&view=frontpage&Itemid=59

хотя ссылка приписана кнопке:
/index.php
*

poizon

  • Захожу иногда
  • 495
  • 187 / 1
  • Buu
Re: Исчезает дизайн сайта
« Ответ #5 : 31.07.2009, 20:14:44 »
вот Вы сами только что ответили на свой же вопрос.
Проверяйте пути, прописаные в шаблоне.
*

said_t

  • Новичок
  • 5
  • 0 / 0
Re: Исчезает дизайн сайта
« Ответ #6 : 31.07.2009, 21:53:46 »
я понял, что при генерации страницы неправильный путь создает к файлу стилей, но так, как он каждый раз разный то думается, что не прописка в файле виновата (а что?), а раньше такого невидал (немного работал с HTML и php-fusion) может это от хостера?

вот вышеприведенные сроки только уже с файла шаблона (темы) index.php:
Код
<link href="templates/<?php echo $this->template ?>/css/template_css.css" rel="stylesheet" type="text/css" />
<link href="templates/<?php echo $this->template ?>/css/style.css" rel="stylesheet" type="text/css" />
<!--[if lte IE 6]>
<link href="templates/<?php echo $this->
template ?>/css/template_ie.css" rel="stylesheet" type="text/css" />
<![endif]-->
<link rel="shortcut icon" href="images/favicon.ico" />

« Последнее редактирование: 31.07.2009, 21:59:16 от said_t »
*

doctorgrif

  • Давно я тут
  • 745
  • 82 / 1
  • Нудный доктор
Re: Исчезает дизайн сайта
« Ответ #7 : 31.07.2009, 22:03:01 »
у вас не подгружается собственно стилевой файл шаблона, лишь его "патч" для IE
проверте регистр названия файла, его аутентичность написания, права на папку
Омск-Екатеринбург-Челябинск...Feldzug gen Westen | Кафедра | GrayBox | Joostina 1.2.1 | Joostina Extensions | In Vino Veritas [в работе]
*

Physicist

  • Глобальный модератор
  • 984
  • 194 / 0
  • Рябов Денис
Re: Исчезает дизайн сайта
« Ответ #8 : 31.07.2009, 22:25:58 »
Код
<link href="templates/<?php echo $this->template ?>/css/template_css.css" rel="stylesheet" type="text/css" />
<link href="templates/<?php echo $this->template ?>/css/style.css" rel="stylesheet" type="text/css" />
<!--[if lte IE 6]>
<link href="templates/<?php echo $this->
template ?>/css/template_ie.css" rel="stylesheet" type="text/css" />
<![endif]-->
<link rel="shortcut icon" href="images/favicon.ico" />

А где <?php echo $this->baseurl ?>/ который должен присутствовать во всех ссылках? Все претензии к автору шаблона.
*

said_t

  • Новичок
  • 5
  • 0 / 0
Re: Исчезает дизайн сайта
« Ответ #9 : 31.07.2009, 23:00:21 »
Вы все правы, благодарю. Видать это изначальная ошибка (я испугался, думаю - поламал :) а добавил 2 статьи всего!). Скачал 5 различных шаблонов и написание их в этом месте немного отличается от рассматриваемого, но почти одинаковы между собой.
еще хочу совет, если попробовать сменить шаблон, назад дорога всегда будет открыта ??  :) (базу сохраню, а вот всю файловую группу не смогу, нет хилый)

ПС
А в общем движек интересный, возможно поработаю и для себя...

Re: Исчезает дизайн сайта
« Ответ #10 : 01.08.2009, 23:39:32 »
Доброго, у меня возможно подобная проблема. Поставил Joomla 1.5.12 rus скачал шаблон установил и поменял только картинки в шаблоне см. www.dosie-av.zp.ua . После этого начал менять стандартные меню и новости Joomla на свои. Но когда попробовал пройти и посмотреть новости по меню, то увидел голую страницу без дизайна с одним текстом (http://dosie-av.zp.ua/index.php/the-news). Подскажите плиз куда двигаться, где искать?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор 7Azimuth

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

Автор andriy465

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

Автор smadkz

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

Автор nikos

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

Автор Tema

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