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

Юли

  • Новичок
  • 1
  • 1 / 0
Проблемы с установкой UIKit
« : 13.08.2014, 15:28:54 »
День добрый. >:( >:(
На пути построения сайта столкнулась с такой вещью как UIKit от YooTheme. У меня Joomla 3.3.3, шаблон от YooTheme «Avenue» не могу установить UIKit. Проблема заключается в том, что он не устанавливается через менеджер расширений, а выдает ошибку: Предупреждение JInstaller: :Install: Не удалось найти XML-файл установки
Почитав документацию на их сайте поняла только одно, надо что то установить еще.
А еще и перевод с Google говорит  что-то про хрюкающий лес и грунт.
Ребята, помогите! Напишите пожалуйста подробненько и желательно на доступном языке для такого «программиста» как я: что, куда и как нужно установить?
очень нужна ваша профессиональная помощь!
 :'( :'( :'(
*

sergoguga

  • Давно я тут
  • 896
  • 70 / 8
  • www.mpbox.ru
Re: Проблемы с установкой UIKit
« Ответ #1 : 13.08.2014, 16:33:38 »
Цитировать
про хрюкающий лес и грунт.

свалили с ног! это мощнее водочки!!
>>> Верстка 100 евро - ждешь новый курс? Пиши!
>>> Создание моб. приложений по ГОСТу)))! Личка работает!
>>> Микроразметка по стандартам - цены адекват! Пиши, не боись!
>>> Личный кабинет на ZOO - уже сделан! Пиши в личку, не стесняйся!
*

Alldar

  • Завсегдатай
  • 1504
  • 195 / 1
Re: Проблемы с установкой UIKit
« Ответ #2 : 13.08.2014, 16:45:13 »
UIKIt это CSS фреймворк не какого отношения к Joomla он не имеет UIKIt УЖЕ встроен в шаблон Avenue
*

arturk

  • Захожу иногда
  • 105
  • 11 / 2
Re: Проблемы с установкой UIKit
« Ответ #3 : 23.07.2015, 08:37:06 »
жлобы поржали и ушли
ТС имеет шаблон от производителя YooTheme - «Avenue» со встроенной поддержкой UIKIt по умолчанию

Для подключения на сторонние шаблоны представлена документация по подключению на сайте:
http://getuikit.com/docs/documentation_get-started.html

Файлы помещаются в папку шаблона
Подключается путем добавления записей в заголовок шаблона в тег head

Код
<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <link rel="stylesheet" href="uikit.min.css" />
        <script src="jquery.js"></script>
        <script src="uikit.min.js"></script>
    </head>
    <body>
    </body>
</html>
*

dj_spaceman

  • Новичок
  • 9
  • 0 / 0
Re: Проблемы с установкой UIKit
« Ответ #4 : 08.08.2015, 02:13:52 »
Не могу установить uikit в шаблон yoo_nano
Плиzzz, можно по подробнее установку.


Файлы перекинул в корень шаблона.
В шаблоне файл index.php

Цитировать
<?php
/**
* @package   yoo_nano
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license   http://www.gnu.org/licenses/gpl.html GNU/GPL
*/

// no direct access
defined('_JEXEC') or die('Restricted access');

// include config   
include_once(dirname(__FILE__).'/config.php');

// get warp
$warp = Warp::getInstance();

// load main template file, located in /layouts/template.php
echo $warp['template']->render('template');


Прописываю в верх
Цитировать
<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <link rel="stylesheet" href="uikit.min.css" />
        <script src="jquery.js"></script>
        <script src="uikit.min.js"></script>
    </head>
    <body>
    </body>
</html>

Результата нет...
*

apirat

  • Захожу иногда
  • 122
  • 5 / 0
  • ...опачки!
Re: Проблемы с установкой UIKit
« Ответ #5 : 10.09.2015, 16:50:34 »
Не тот файл открыл...
поищи /layouts/template.php
или какой-то другой в котором, обычно, уже есть подключенные CSS стили...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как обернуть текст стилем из Uikit 3?

Автор DeniTornado

Ответов: 3
Просмотров: 6726
Последний ответ 30.10.2024, 09:59:35
от Vastriet
[Решено] UiKit: сетка на 12 колонок, а также на 7, 8, 9 и (для uikit3) 10

Автор AlekVolsk

Ответов: 1
Просмотров: 6062
Последний ответ 08.08.2019, 19:02:41
от AlekVolsk
Проблемы с валидатором

Автор 13RUS

Ответов: 10
Просмотров: 1280
Последний ответ 18.02.2016, 21:29:42
от 13RUS
Проблемы с корзиной при активации чпу

Автор Стас Сергеевич

Ответов: 1
Просмотров: 1090
Последний ответ 17.10.2015, 13:16:27
от Стас Сергеевич
Проблемы с меню

Автор Никонор

Ответов: 45
Просмотров: 3866
Последний ответ 26.08.2015, 08:51:49
от Никонор