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

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #30 : 26.09.2011, 01:43:21 »
Joomla1.7
com_jce_2014
плагин опубликован

видел тему про "Кнопка Подробнее не работает в редакторе JCE" там есть решение от 2010 года, но мне не помогло.
Смотрю....
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #31 : 26.09.2011, 11:39:06 »

И что это может быть за ошибка?!

DateTime::__construct(): Failed to parse time string (30.11.-0001) at position 0 (3): Unexpected character
Смотрю....
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Re: Вопросы по K2
« Ответ #32 : 26.09.2011, 12:08:19 »
И что это может быть за ошибка?!

DateTime::__construct(): Failed to parse time string (30.11.-0001) at position 0 (3): Unexpected character


Вроде, решается апгрэйдом SVN
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #33 : 27.09.2011, 13:20:48 »
StarMag staticlight А не подскажете SQL команду на установку всем категориям параметра:
Наследовать параметры от категории id "XXXX"
Смотрю....
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Re: Вопросы по K2
« Ответ #34 : 27.09.2011, 14:04:00 »
StarMag staticlight А не подскажете SQL команду на установку всем категориям параметра:
Наследовать параметры от категории id "XXXX"

Я с БД на "Вы".
Это надо у SDKiller спрашивать.
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Вопросы по K2
« Ответ #35 : 27.09.2011, 14:49:51 »
Для J 1.5 или 1.7 ?

Там разный формат данных поля params
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Вопросы по K2
« Ответ #36 : 27.09.2011, 15:02:30 »
Предположим что ранее было установлено не наследовать (параметр inheritFrom равен 0), устанавливаем наследовать от категории с id=100:

J 1.5

Код
UPDATE `jos_k2_categories` SET `params`=(SELECT REPLACE (`params`,'inheritFrom=0','inheritFrom=100'))

J 1.7

Код
UPDATE `jos_k2_categories` SET `params`=(SELECT REPLACE (`params`,'"inheritFrom":"0"','"inheritFrom":"100"'))

Это для всех категорий.
Если для некоторых, надо добавлять условие WHERE

Формат запросов для прямого sql-запроса к БД, например через phpMyAdmin

(префикс jos_ по привычке  ;D)
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #37 : 27.09.2011, 16:12:26 »
НА 1.7 не обновилось!

может тут "inheritFrom":"0"' нужно 1 поставить?!

ни так ни так
"Затронуто строк: 1 (запрос занял 0.0028 сек.)"


Приношу прощение!
Запрос работает.
Единственно в редакторе самой под-категории почему-то не показывается что наследовались настройки.

Наследовать параметры от категории    - Нет.
« Последнее редактирование: 27.09.2011, 16:24:04 от yrygvay »
Смотрю....
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Вопросы по K2
« Ответ #38 : 27.09.2011, 16:20:58 »
НА 1.7 не обновилось!

Хотя в таблице зменилось.

Самое интересное что и если просто параметр наследования через редактирование категории в админке сохранять, то в таблицу он пишется, а при открытии категории заново там пусто.

Видимо бага.
Давно правда не брал с svn
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Вопросы по K2
« Ответ #39 : 27.09.2011, 16:22:01 »
может тут "inheritFrom":"0"' нужно 1 поставить?!

Так я не знаю, какие раньше были параметры у вас, для примера написал. 0 - это не наследовать

Для начала надо  посмотреть что в params в таблице #__k2_categories
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #40 : 27.09.2011, 16:24:20 »
Так я не знаю, какие раньше были параметры у вас, для примера написал. 0 - это не наследовать

Для начала надо  посмотреть что в params в таблице #__k2_categories


Приношу прощение!
Запрос работает.
Единственно в редакторе самой под-категории почему-то не показывается что наследовались настройки.

Наследовать параметры от категории    - Нет.
Смотрю....
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Вопросы по K2
« Ответ #41 : 27.09.2011, 16:27:20 »
Граждане, согласно правил форума - один вопрос - одна тема. И давайте не будем нарушать... Никакого толка от тем из 100+ вопросов нет...
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Вопросы по K2
« Ответ #42 : 27.09.2011, 16:32:02 »
Добрый день.
В этот раздел давно нужны свои модераторы.
Например staticlight и StarMag
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Re: Вопросы по K2
« Ответ #43 : 27.09.2011, 16:33:12 »
Добрый день.
В этот раздел давно нужны свои модераторы.


Поддерживаю.
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #44 : 27.09.2011, 16:34:56 »
"Ты суслика видишь? Нет?! А он есть"

Вспомнилось из фильма.

Просто в этом разделе не хватает темы- для микро-запросов.
А ответы мы потом в FAQ добавляем, если очень полезное!
Смотрю....
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Вопросы по K2
« Ответ #45 : 27.09.2011, 16:50:45 »
В этот раздел давно нужны свои модераторы.
выдвигайте кандидатуры, и если они сами не против - давайте добавим модераторов
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Re: Вопросы по K2
« Ответ #46 : 27.09.2011, 16:53:33 »
Я не против, если люди не против моей кандидатуры.
Но я бы выдвинул кандидатуру SDKiller.
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #47 : 27.09.2011, 16:56:32 »
Есть частушка про Выборы))))
Но не буду, так как кандидаты молодцы, и помогают очень.
Обоих туда!
Смотрю....
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Вопросы по K2
« Ответ #48 : 27.09.2011, 17:02:14 »
Обоих туда!
в смысле всех трех: SDKiller, staticlight и StarMag? хм, ну почему бы и нет... я лично - только за.
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #49 : 27.09.2011, 17:26:20 »
ДА, почему бы и нет, нас тут всего человек 5 кто в этой теме постоянно что-то пишет!
Смотрю....
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Вопросы по K2
« Ответ #50 : 27.09.2011, 17:32:32 »
Ну, поздравляю всех пользователей раздела с появлением модераторов! И это, старайтесь не нарушать правила форума.
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #51 : 27.09.2011, 17:59:09 »
Эх... нужно тоже было себя в ряды записать) авось под одну гребёнку бы попал!

А так ребята - ПОЗДРАВЛЯЮ!
Смотрю....
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Re: Вопросы по K2
« Ответ #52 : 27.09.2011, 18:47:22 »
Ну, поздравляю всех пользователей раздела с появлением модераторов!

Ну, вполне  правильный выбор! Всех с обновленьицем!
*

StarMag

  • Moderator
  • 228
  • 25 / 0
  • после ночи разбора РНР кода
Re: Вопросы по K2
« Ответ #53 : 28.09.2011, 00:41:18 »
Вот это да, только попросил у администрауии расширить размер паки upload как мне сразу же и "права и обязанности"...
Ну что ж, будем работать на благо форума.
Ну а по теме, вообще-то smart прав, надо из этой темы выкроить самые важные отдельно, да и в FAQ не помешало бы добавить много чего.
Ну почему никто никогда не читает справочные материалы?...
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #54 : 28.09.2011, 01:58:53 »
Я и поддерживаю и не поддерживаю smart

Бывает нужно спросить вопрос не достойный целой темы.

Либо нужно делать более грамотно и если мне нужен вопрос по msql k2 то создав отдельную тему уже в ней обсуждать именно msql ?

Переживаю как бы хлама много не было.
Смотрю....
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Вопросы по K2
« Ответ #55 : 28.09.2011, 11:56:09 »
Бывает нужно спросить вопрос не достойный целой темы.
вот поэтому-то и лучше иметь отдельные темы - если вопрос не шибко популярный и вряд ли кому-то будет еще полезен, то такую тему потом можно прибить и ничего не пострадает. А когда появляются топики из 30 страниц, никто из их середины вырезать ничего не будет. Кроме того, если на отдельный вопрос отдельная тема, то потом есть возможность объединять схожие топики в один, а не говорить - иди в тему N там на M-странице обсуждалось...
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Вопросы по K2
« Ответ #56 : 28.09.2011, 15:05:52 »
У кого-нибудь в админке выскакивает        " У вас нет прав на доступ к данной странице по прямой ссылке"?!
Что может не нравится?!
Смотрю....
*

zicale

  • Новичок
  • 3
  • 1 / 0
Re: Вопросы по K2
« Ответ #57 : 28.09.2011, 16:53:10 »
Уважаемые форумчане.
Хочу задать такой вопрос. В поисковом модуле рядом с категориями есть слово any, кто нибудь знает как это убрать? Находил описание в Интернете, но там только указание на файл, открыл я его, долго листал и закрыл - не понятно что править.
Кто нибудь знает, что именно править?
*

vilka

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Вопросы по K2
« Ответ #58 : 12.11.2014, 21:48:20 »
Така штука -Обновила  я Joomla 1.5.26 до 3.3.6.  
Материалы из станой Joomla перенесла на новую. Затем установилоа на новую компонет К2, и импортировала все материалы в компонент. Вышло сообщение. что материалы импортировались удачно. Но!

Я этих материалоов  в админке через компонент вообще не вижу. Вижу только, что есть категории. Все статьи по-прежнему в админке открываются  в редакторе Joomla. Зашла в MySQL - смотрю  в таблице K2_items  тоже пусто....
Подскажите кто-нибудь, где искать "засаду"?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вопросы по К2 (вывод id, автовыбор категории)

Автор vadyagt

Ответов: 0
Просмотров: 935
Последний ответ 10.12.2014, 22:30:07
от vadyagt
Каталог организаций. вопросы по К2

Автор bitterlemon

Ответов: 3
Просмотров: 1802
Последний ответ 19.09.2013, 03:09:51
от bitterlemon
К2 для Joomla 2.5 с нуля. Общие вопросы

Автор dron

Ответов: 2
Просмотров: 1395
Последний ответ 22.01.2013, 23:12:47
от paternoster
Вопросы по тегам, доп полям и сортировке материалов

Автор andreiz

Ответов: 13
Просмотров: 3146
Последний ответ 30.08.2012, 00:26:37
от andreiz
Вопросы по тегам

Автор xilgiz

Ответов: 4
Просмотров: 2924
Последний ответ 22.03.2012, 16:02:37
от xilgiz