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

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Тестирование smfaq
« Ответ #120 : 11.04.2012, 16:24:42 »
SmokerMan, пришлите мне оригиналы языковых файлов русской локализации - сделаю вам перевод на украинский язык для украинской локализации.
Просто у меня уже все ваши файлы переписаны под нужды блеклиста, и нет оригиналов с текстом.
ну вы даете))
Читаем топик. На git репозитории лежат оригиналы. Так же можно воспользоваться услугой сервиса, о котором так же написано в топике.
*

Mark29

  • Осваиваюсь на форуме
  • 30
  • 7 / 1
Re: Тестирование smfaq
« Ответ #121 : 11.04.2012, 16:47:15 »
ну вы даете))

Сорри, никогда не пользовался подобным, поэтому не очень знаком с работой подобных сервисов )
Скачал оригинал, сейчас сделаем украинскую локализацию - буду тоже добрым человеком. :)
*

Mark29

  • Осваиваюсь на форуме
  • 30
  • 7 / 1
Re: Тестирование smfaq
« Ответ #122 : 11.04.2012, 19:37:57 »
ЗАМЕНИТЬ СТРОКИ В ФАЙЛЕ ru-RU.com_smfaq.ini на указанные ниже (они уже исправлены):

Строка 144
COM_SMFAQ_FIELD_CREATED_BY_TYPE_DESC="Виберіть значення, яке буде заноситись у базу при додаванні питання авторизованими пользователями. <br /><strong>Предупреждение</strong><br />Это значение будет действовать только для вновь добавленных вопросов, поэтому его лучше устанавливать сразу"

Строка 175
COM_SMFAQ_CATEGORIES_TITLE="Менеджер категорий: SM FAQ"

Строка 182
COM_SMFAQ_FIELD_SELECT_CATEGORY_DESC="Выбор категории вопросов, которую следует отображать"
*

Mark29

  • Осваиваюсь на форуме
  • 30
  • 7 / 1
Re: Тестирование smfaq
« Ответ #123 : 11.04.2012, 21:29:11 »
Украинская локализация компонента SMFAQ:

Сохранять текст из спойлеров:
- формат UTF-8 (без ВОМ)
- расширение файла - *.ini
- адрес расположения файла указан в названии
- имя файла указано в конце строки расположения и выделено жирным

smfaq/Component/admin/language/uk-UA/uk-UA.com_smfaq.ini
Спойлер
[свернуть]

smfaq/Component/admin/language/uk-UA/uk-UA.com_smfaq.sys.ini
Спойлер
[свернуть]

smfaq/Plugins/Test/language/uk-UA/uk-UA.plg_smfaq_test.ini
Спойлер
[свернуть]

smfaq/Plugins/Test/language/uk-UA/uk-UA.plg_smfaq_test.sys.ini
Спойлер
[свернуть]

smfaq/Component/site/language/uk-UA/uk-UA.com_smfaq.ini
Спойлер
[свернуть]

ЗЫ Если сочтете за целесообразное указать в компоненте сей скромный вклад в его развитие - буду рад :)
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Тестирование smfaq
« Ответ #124 : 11.04.2012, 22:50:20 »
Mark29
спасибо большое.
*

Mark29

  • Осваиваюсь на форуме
  • 30
  • 7 / 1
Re: Тестирование smfaq
« Ответ #125 : 11.04.2012, 23:21:31 »
Mark29
спасибо большое.

Пожалуйста :) Обращайтесь, если что.
*

gurov87

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Тестирование smfaq
« Ответ #126 : 12.04.2012, 02:01:17 »
SmokerMan огромное спасибо за компонент! Именно то, что нужно! Поставил версию 1.7 beta 3 на Joomla 2.5.4 все работает отлично (уведомление по почте не пробовал пока), за исключением небольшого нюанса. Так же как и в указанном ранее случае:
Всем Привет :)

Для начала - Большое спасибо автору за проделанную работу :D

никто с такой ошибкой вывода компонента во фронт не встречался?

тут

Ругается на
Код
default_form

Если под пользователем зайти - все нормально. А Гостю будто мешает что-то.
Решил так же - вернул значение параметра отображение Формы на "Скрыть" и все стало ОК, если поставить "Показать" то без авторизации на страницу не зайти. Еще раз спасибо, компонент отличный.
*

vvz

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Re: Тестирование smfaq
« Ответ #127 : 02.05.2012, 16:38:27 »
Поисковые роботы индексируют все страницы FAQ, как "Страницы с совпадающими заголовками", что не очень хорошо для их восприятия. Как сделать, чтобы "Заголовок каждой страницы должен быть уникальным и описывать ее содержание"?
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Тестирование smfaq
« Ответ #128 : 02.05.2012, 16:47:37 »
что вы имеете ввиду под "страницами" я не совсем понимаю. Есть страница категории с вопросам, есть страница отдельно вопроса.
*

vvz

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Re: Тестирование smfaq
« Ответ #129 : 02.05.2012, 17:00:52 »
что вы имеете ввиду под "страницами" я не совсем понимаю. Есть страница категории с вопросам, есть страница отдельно вопроса.
В моем случае есть несколько страниц одной категории http://ooo-status.ru/index.php/vashi-voprosy
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Тестирование smfaq
« Ответ #130 : 02.05.2012, 17:18:46 »
В моем случае есть несколько страниц одной категории http://ooo-status.ru/index.php/vashi-voprosy
ну это и в самой Joomla так же. Можете посмотреть на примере блога категории или чего-то с разбиением на страницы.
Можно конечно менять заголовки, сделать их вида "Заголовок - Страница №XX", только вот нужно ли?))
*

vvz

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Re: Тестирование smfaq
« Ответ #131 : 02.05.2012, 17:25:52 »
Можно конечно менять заголовки, сделать их вида "Заголовок - Страница №XX", только вот нужно ли?))
Думаю, мне нужно. У меня предполагается много страниц и пусть они отличаются в названии хотя бы номерами. Это можно воплотить?
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Тестирование smfaq
« Ответ #132 : 02.05.2012, 18:08:06 »
переопределить вывод категории (components/com_smfaq/views/category/tmpl/default.php) в своем шаблоне
и добавить в него
Код
<?php if ($this->pagination->get('pages.current') > 1 ) {
$title = $this->document->title.' Page '.$this->pagination->get('pages.current');
$this->document->setTitle($title);
}?>
Это будет устанавливать заголовок, если это не первая страница, вида "Заголовок Page номер страницы".
*

Mark29

  • Осваиваюсь на форуме
  • 30
  • 7 / 1
Re: Тестирование smfaq
« Ответ #133 : 02.05.2012, 18:19:22 »
SmokerMan, когда ждать исправленную функцию е-мейл? :)
*

vvz

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Re: Тестирование smfaq
« Ответ #134 : 02.05.2012, 18:23:29 »
Спасибо за оперативность, но что значит
переопределить вывод категории
и в какое место в файл нужно вставить
и добавить в него
Код
<?php if ($this->pagination->get('pages.current') > 1 ) {
$title = $this->document->title.' Page '.$this->pagination->get('pages.current');
$this->document->setTitle($title);
}?>
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Тестирование smfaq
« Ответ #135 : 02.05.2012, 18:32:43 »
SmokerMan, когда ждать исправленную функцию е-мейл? :)
о какой функции идет речь? там все уже и так вроде поправлено.
Спасибо за оперативность, но что значит и в какое место в файл нужно вставить
да в любое, можно в самый конец.
*

Mark29

  • Осваиваюсь на форуме
  • 30
  • 7 / 1
Re: Тестирование smfaq
« Ответ #136 : 02.05.2012, 18:40:20 »
о какой функции идет речь? там все уже и так вроде поправлено.да в любое, можно в самый конец.

Моя цитата от 08.04 - тогда же скачан и компонент.
Цитировать
2. не работает отправка уведомлений на е-мэйл: "Не удалось вызвать функцию mail."

Либо я что-то пропустил за это время... она как не работала - так и не работает. Не приходят уведомления на почту НИКОМУ...
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Тестирование smfaq
« Ответ #137 : 02.05.2012, 18:46:47 »
Либо я что-то пропустил за это время... она как не работала - так и не работает. Не приходят уведомления на почту НИКОМУ...
последняя версия на данный момент - 1.7 beta 3. Посмотрите и обновитесь если что, через менеджер обновлений.
Потому что у меня с почтой никаких проблем нет. Возможно она просто у вас в Joomla не настроена. Проверить можно через тот же стандартный компонент контактов.
*

vvz

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Re: Тестирование smfaq
« Ответ #138 : 02.05.2012, 18:51:36 »
да в любое, можно в самый конец.
Спасибо, работает.
Моя цитата от 08.04 - тогда же скачан и компонент.
Либо я что-то пропустил за это время... она как не работала - так и не работает. Не приходят уведомления на почту НИКОМУ...
Сайт не на Денвере случайно? У меня на хостинге с этим проблем нет. Правда права доступа еще поправлял.
*

Mark29

  • Осваиваюсь на форуме
  • 30
  • 7 / 1
Re: Тестирование smfaq
« Ответ #139 : 02.05.2012, 19:51:32 »
последняя версия на данный момент - 1.7 beta 3. Посмотрите и обновитесь если что, через менеджер обновлений.
Потому что у меня с почтой никаких проблем нет. Возможно она просто у вас в Joomla не настроена. Проверить можно через тот же стандартный компонент контактов.

Да, стояла 1.6... обновил, все ок.

Спасибо, работает.Сайт не на Денвере случайно? У меня на хостинге с этим проблем нет. Правда права доступа еще поправлял.

Нет, сайт на хостинге - http://obmen-service.com/blacklist
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Тестирование smfaq
« Ответ #140 : 03.05.2012, 14:59:14 »
Выложил релиз кандидат.
Исправлены указанные ошибки.
Добавлена возможность менять автора ответа в административной панели.
Добавлены английская и украинская локализации.

Обновиться можно через менеджер обновлений Joomla.

На этом дальнейшие изменения не планируются. Компонент будет поддерживаться только на наличие каких-либо ошибок.
*

vvz

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Re: Тестирование smfaq
« Ответ #141 : 03.05.2012, 22:13:18 »
Опа! А можно все же плагин для стандартного joomla-поиска и RSS ленты?
Если про стандартный поиск J идет речь, то для этого нужно написать плагин для поиска, возможно скоро этим займусь.
По поводу RSS-ленты, возможно тоже добавится в ближайшее время.
А то очень нужно... хотя бы с поиском определиться?!
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Тестирование smfaq
« Ответ #142 : 03.05.2012, 22:18:16 »
Опа! А можно все же плагин для стандартного joomla-поиска и RSS ленты?А то очень нужно... хотя бы с поиском определиться?!
Забываю про него))
Плагин напишу на днях, может даже сегодня.
*

vvz

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Re: Тестирование smfaq
« Ответ #143 : 03.05.2012, 22:31:59 »
Забываю про него))
Плагин напишу на днях, может даже сегодня.
Дайте знать, когда будет готово)
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Тестирование smfaq
« Ответ #144 : 04.05.2012, 11:55:26 »
добавил плагин для поиска на github. В директории Plugins/Search
Пробуйте.
*

Mark29

  • Осваиваюсь на форуме
  • 30
  • 7 / 1
Re: Тестирование smfaq
« Ответ #145 : 04.05.2012, 12:20:49 »
Украинская локализация плагина:

uk-UA.plg_search_smfaq.sys.ini

Спойлер
[свернуть]

uk-UA.plg_search_smfaq.ini

Спойлер
[свернуть]
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Тестирование smfaq
« Ответ #146 : 04.05.2012, 12:58:17 »
Mark29
Спасибо. Локализацию добавил.
*

vvz

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Re: Тестирование smfaq
« Ответ #147 : 04.05.2012, 14:30:56 »
добавил плагин для поиска на github. В директории Plugins/Search
Пробуйте.
Если не трудно, дайте ссылку...
Спасибо.
« Последнее редактирование: 04.05.2012, 14:34:43 от vvz »
*

Mark29

  • Осваиваюсь на форуме
  • 30
  • 7 / 1
Re: Тестирование smfaq
« Ответ #148 : 04.05.2012, 14:32:32 »
*

vvz

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Re: Тестирование smfaq
« Ответ #149 : 04.05.2012, 20:16:47 »
добавил плагин для поиска на github. В директории Plugins/Search
Пробуйте.
Установил плагин - поиск работает, но он позволяет искать только по ответам на вопросы. Как сделать, чтобы опубликованные вопросы тоже индексировались поиском и выводились в результатах поиска?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор sergeytolkachyov

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

Автор fbr

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

Автор zikkuratvk

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

Автор buyanov

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

Автор Septdir

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