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

Dobreff

  • Захожу иногда
  • 214
  • 10 / 4
Еще раз  :D
Смотреть нужно в форме, где задается вопрос, если вам ТАМ нужно доп поле....

*

Hot_Gomer

  • Захожу иногда
  • 296
  • 12 / 0
  • sudo su
Спасибо за компонент!
Подскажите как можно исключить вариант "отвечено" и "ожидает"? лишние действия получаются
Joomla, Drupal, Ruby on Rails -
что может быть лучше?)
*

Nadin58

  • Новичок
  • 3
  • 0 / 0
Добрый день! Почему-то в форме текст на кнопках "добавить вопрос" и др. кнопках имеет белый цвет. В результате в браузере вообще ничего не видно на этих кнопках.Как быть?
*

Nadin58

  • Новичок
  • 3
  • 0 / 0
вопрос отменяется
« Последнее редактирование: 23.10.2012, 10:08:54 от Nadin58 »
*

Hot_Gomer

  • Захожу иногда
  • 296
  • 12 / 0
  • sudo su
Добрый день! Почему-то в форме текст на кнопках "добавить вопрос" и др. кнопках имеет белый цвет. В результате в браузере вообще ничего не видно на этих кнопках.Как быть?
Учить CSS + FireBug
Joomla, Drupal, Ruby on Rails -
что может быть лучше?)
*

Nadin58

  • Новичок
  • 3
  • 0 / 0
Добрый день.Вопрос : как добавить поле типа Radio  или SELECT
*

Hot_Gomer

  • Захожу иногда
  • 296
  • 12 / 0
  • sudo su
При ответе на вопрос через фронтенд, по умолчанию, в поле "Дата ответа" стоит "30.11.-0001 02:30"

то из-за чего появляется ошибка(если забыть поменять дату) 500 - DateTime::__construct() [datetime.--construct]: Failed to parse time string (30.11.-0001 02:30) at position 0 (3): Unexpected character
При ответе на вопрос из админки поле "Дата ответа" пустое и при сохранении автоматически ставится дата сохранения.
Как реализовать то же самое с фронтенда сайта, что бы не приходилось каждый раз прокручивать календарь на сегодняшнюю дату.

Joomla 2.5.8
« Последнее редактирование: 22.11.2012, 14:28:53 от Hot_Gomer »
Joomla, Drupal, Ruby on Rails -
что может быть лучше?)
*

alnas

  • Новичок
  • 2
  • 0 / 0
Добрый вечер. Вопрос у меня бородатый... При нажатии на кнопку задать вопрос процесс зависает ии вылазит окошко с надписью 12152. А вопроса будет 3. 1)почему зависает и не задается вопрос. 2)что такое 12152 3)почему такая фигня происходит только в IE, в хроме компонент работает на все 100% P.S. большое спасибо за ответы и за сам компонент!
*

Dj Nek

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
не могу понять почему из фронтеда при ответе на вопрос не срабатывают кнопки сохранить и закрыть 0_о
*

G300

  • Осваиваюсь на форуме
  • 34
  • 3 / 0
Подскажите пожалуйста, если кто допиливал уже форму отправки сообщения, с выбором темы из списка,
Чтобы была единая форма отправки сообщений для всех созданных категорий и прикреплялась тема по выбору самого пользователя.
Понимаю что надо MY_FIELD , но может кто уже сделал выложите примерчик?
*

Hot_Gomer

  • Захожу иногда
  • 296
  • 12 / 0
  • sudo su
Joomla 2.5.8 + smfaq 1.7.2
Если форма добавления вопроса скрыта то после нажатия на кнопку добавления вопроса вместо формы открывается сайт в сайте с раскрытой формой вопроса.
вот так отображается кнопка
и вот что получаем при нажатии на кнопку
В чем может быть проблема, куда копать?
Спасибо

Готов заплатить за помошь!
« Последнее редактирование: 25.11.2012, 00:05:35 от Hot_Gomer »
Joomla, Drupal, Ruby on Rails -
что может быть лучше?)
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
BUGREPORT
« Ответ #251 : 27.11.2012, 15:31:23 »
Цитата: Joomla
Сохранить не удалось из-за ошибки: DateTime::__construct() [datetime.--construct]: Failed to parse time string (30.11.-0001 00:00) at position 0 (3): Unexpected character

Фронт, J2.5.8. Компонент последний. Почему-то подставилась автоматом не текущая дата, когда я отвечал, а на 3 дня позже, т.е. в будущее, и год непонятный (минус0001)... И вылезла вот такая ошибка. Когда залез и ручками дату подправил - всё вставло на свои места (ЗЫ время и дата на серваке правильные!)
« Последнее редактирование: 27.11.2012, 16:07:39 от Dorfman »
*

Hot_Gomer

  • Захожу иногда
  • 296
  • 12 / 0
  • sudo su
Почему-то подставилась автоматом не текущая дата, когда я отвечал, а на 3 дня позже, т.е. в будущее, и год непонятный... И вылезла вот такая ошибка. Когда залез и ручками дату подправил - всё вставло на свои места (ЗЫ время и дата на серваке правильные!)
Подскажите, пожалуйста - где править?
Joomla, Drupal, Ruby on Rails -
что может быть лучше?)
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Подскажите, пожалуйста - где править?
Как "где"? Зашёл с фронта, залогинился, жмёшь "Редактировать" - внизу календарики с датами - вот там и редактируешь: прямо в окошке, не нажимая на календарик. Но это, понятное дело, косяк (хотя и несущественный, поправимый), который разработчику не мешало бы поправить.
*

Hot_Gomer

  • Захожу иногда
  • 296
  • 12 / 0
  • sudo su
Как "где"? Зашёл с фронта, залогинился, жмёшь "Редактировать" - внизу календарики с датами - вот там и редактируешь: прямо в окошке, не нажимая на календарик. Но это, понятное дело, косяк (хотя и несущественный, поправимый), который разработчику не мешало бы поправить.
Я то думал вы нашли где там что в файле поправить нужно...
Joomla, Drupal, Ruby on Rails -
что может быть лучше?)
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Я то думал вы нашли где там что в файле поправить нужно...
Ну, мне показалось, что я ясно объяснил:
...и ручками дату подправил

И всё же интересно, Smokerman что, забил на проект? Уже давно не появляется тут, последний раз постил в августе...  :(
*

Kote_2228

  • Захожу иногда
  • 65
  • 0 / 0
  • Вера, которую не разделяет никто, называется шизой
можно сделать чтобы вопросы публиковались сразу автоматом после создания?
*

Neptun

  • Захожу иногда
  • 183
  • 8 / 0
Здравствуйте!
компонент конечно супер. немного допилить и можно продавать :)
« Последнее редактирование: 21.12.2012, 12:40:50 от Neptun »
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Миграции с 1.5 до 2.5 Joomla я так понял - не предусмотрено ((
*

voland

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

П_Евгений

  • Захожу иногда
  • 51
  • 0 / 0
Доброе время суток! Спасибо за компонент, пользуюсь давно. Возник вопрос: переделал сайт (joomla 1.7, раньше была 1.5), каким образом (если возможно) перенести вопросы и ответы на новый сайт
С уважением, Евгений
*

Roamer

  • Захожу иногда
  • 150
  • 3 / 0
Черт... Компонент хороший, автор молодец... Но надо бежать с этого компонента... Автор кажется забил на него. Потом геморрой будет по переносу контента.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
времени совсем не было, после нг постараюсь выбрать время и заняться им.
*

Roamer

  • Захожу иногда
  • 150
  • 3 / 0
Ура!! :) Я правда рад что вы объявились, так как у вас есть все шансы довести компонент до ума и стать законодателем мод в этом сегменте!
*

Бурый

  • Осваиваюсь на форуме
  • 19
  • 2 / 0
Joomla 2.5.8 + smfaq 1.7.2
Если форма добавления вопроса скрыта то после нажатия на кнопку добавления вопроса вместо формы открывается сайт в сайте с раскрытой формой вопроса.
вот так отображается кнопка
и вот что получаем при нажатии на кнопку
В чем может быть проблема, куда копать?
Спасибо

Готов заплатить за помошь!
Вот и у меня такая ж фигня...
Только я платить не готов ))
*

Бурый

  • Осваиваюсь на форуме
  • 19
  • 2 / 0
Поковырялся чуток.
У мнея стоит плагин - "System - Modal messages" для вывода системных сообщений в всплывающем окне, отключил его проблема исчезла, возможно связано как-то с jQuery.
Во многих шаблонах эта фича вшита изначально, тож глючить будет.
Только вот сообщения-то тож охота в красивом всплывающем окне видеть ))
Надо или в компоненте ковыряться или другой способ всплывающих окон искать...
*

soa

  • Новичок
  • 6
  • 0 / 0
Миграции с 1.5 до 2.5 Joomla я так понял - не предусмотрено ((
Доброе время суток! Спасибо за компонент, пользуюсь давно. Возник вопрос: переделал сайт (joomla 1.7, раньше была 1.5), каким образом (если возможно) перенести вопросы и ответы на новый сайт
С уважением, Евгений
На первой странице форума опубликован скрипт переноса вопросов и ответов. Я переносил сайт компонентом jupgrade, он создает общую базу с разными префиксами для J1.5 и J2.5. Правите в скрипте префиксы, если нужно, и запускаете его.


*

soa

  • Новичок
  • 6
  • 0 / 0
Если форма добавления вопроса скрыта то после нажатия на кнопку добавления вопроса вместо формы открывается сайт в сайте с раскрытой формой вопроса.
вот так отображается кнопка
и вот что получаем при нажатии на кнопку
В чем может быть проблема, куда копать?

У меня то же самое. Открытие формы вопроса выгружает внутри еще раз полный шаблон со всеми полями. Плагин - "System - Modal messages"  у меня не установлен. Проблема только на хосте, на денвере все нормально. Пришлось пока отключить возможность добавления вопросов :(

Joomla! 2.5.7
РНР 5.3.18
SM FAQ 1.7.2

*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
На первой странице форума опубликован скрипт переноса вопросов и ответов. Я переносил сайт компонентом jupgrade, он создает общую базу с разными префиксами для J1.5 и J2.5. Правите в скрипте префиксы, если нужно, и запускаете его.
Речь про http://joomlaforum.ru/index.php/topic,199950.msg1064803.html#msg1064803?
Весело, а в стартпосте ни слова.. переносил сам.
Модеры, добавьте ссылку хоть в стартпост.
*

Val Rubis

  • Осваиваюсь на форуме
  • 45
  • 4 / 0
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

WT Telegram bot - отправка данных из Joomla в Telegram-бота

Автор sergeytolkachyov

Ответов: 4
Просмотров: 2863
Последний ответ 01.08.2025, 09:26:57
от sergeytolkachyov
Модуль вывода новостей. Joomla 3.x

Автор fbr

Ответов: 54
Просмотров: 28681
Последний ответ 22.07.2025, 10:13:22
от fbr
JL Like - Социальные кнопки для Joomla (новый взгляд)

Автор zikkuratvk

Ответов: 636
Просмотров: 106722
Последний ответ 07.07.2025, 11:00:34
от zikkuratvk
Плагин для закрытия ссылок в Joomla 3 - noExternalLinks

Автор buyanov

Ответов: 65
Просмотров: 18914
Последний ответ 06.04.2025, 02:51:35
от azm1n
SW JProjects - Менеджер цифровых проектов для Joomla! CMS™

Автор Septdir

Ответов: 59
Просмотров: 9095
Последний ответ 24.03.2025, 13:06:54
от sergeytolkachyov