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

4.n

  • Захожу иногда
  • 127
  • 22 / 0
Re: Вышла новая версия JComments Fork 4.0.9
« Ответ #60 : 18.12.2021, 13:04:29 »
Докинул архив
без jcomments.subscription.php
*

ProtectYourSite

  • Живу я здесь
  • 2366
  • 138 / 4
  • Безопасность вебсайтов
Re: Вышла новая версия JComments Fork 4.0.9
« Ответ #61 : 18.12.2021, 14:29:06 »
без jcomments.subscription.php
Этот файл удален в новой версии, логика перенесена в папку контроллеров
*

4.n

  • Захожу иногда
  • 127
  • 22 / 0
Re: Вышла новая версия JComments Fork 4.0.9
« Ответ #62 : 18.12.2021, 16:36:53 »

Этот файл удален в новой версии, логика перенесена в папку контроллеров
После обновления на 4.0.9 было уведомление: "Не удалось найти контрольную сумму файла на сервере обновлений" и ругалось на: "/components/com_jcomments/jcomments.php on line 966", копать не стал и откатился на 4.0.8
*

ProtectYourSite

  • Живу я здесь
  • 2366
  • 138 / 4
  • Безопасность вебсайтов
Re: Вышла новая версия JComments Fork 4.0.9
« Ответ #63 : 21.12.2021, 21:44:33 »
ругалось на: "/components/com_jcomments/jcomments.php on line 966", копать не стал и откатился на 4.0.8
fixed in 4.0.10
*

Zegeberg

  • Захожу иногда
  • 279
  • 7 / 1
Re: Вышла новая версия JComments Fork 4.0.9
« Ответ #64 : 30.12.2021, 21:09:09 »
JInstaller:: Установить: Ошибка SQL: Указанный ключ слишком длинный; максимальная длина ключа составляет 767 байт.
Установка расширения прервана.
Пакет: Установка: В процессе установки произошла ошибка: com_jcomments.zip.
*

Helios

  • Захожу иногда
  • 421
  • 31 / 1
  • Аэтошозадеталь?
Re: Вышла новая версия JComments Fork 4.0.9
« Ответ #65 : 30.12.2021, 21:25:26 »
JInstaller:: Установить: Ошибка SQL: Указанный ключ слишком длинный; максимальная длина ключа составляет 767 байт.
Установка расширения прервана.
Пакет: Установка: В процессе установки произошла ошибка: com_jcomments.zip.
Эта ошибка была исправлена в предыдущих версиях. Вы пакет устанавливаете?
/* Have a nice day! */
*

Zegeberg

  • Захожу иногда
  • 279
  • 7 / 1
Re: Вышла новая версия JComments Fork 4.0.9
« Ответ #66 : 30.12.2021, 21:47:25 »
Эта ошибка была исправлена в предыдущих версиях. Вы пакет устанавливаете?
Да, пакет.. PHP 8 Joomla 4 база 5.6
*

ProtectYourSite

  • Живу я здесь
  • 2366
  • 138 / 4
  • Безопасность вебсайтов
Re: Вышла новая версия JComments Fork 4.0.9
« Ответ #67 : 30.12.2021, 23:28:13 »
Да, пакет.. PHP 8 Joomla 4 база 5.6
А есть возможность базу повысить хотя бы до 5.7?
*

Zegeberg

  • Захожу иногда
  • 279
  • 7 / 1
Re: Вышла новая версия JComments Fork 4.0.9
« Ответ #68 : 31.12.2021, 00:31:05 »
А есть возможность базу повысить хотя бы до 5.7?
На Спай Веб, вроде, 5.6 максималка.. гляну
*

Zegeberg

  • Захожу иногда
  • 279
  • 7 / 1
Re: Вышла новая версия JComments Fork 4.0.9
« Ответ #69 : 31.12.2021, 10:40:46 »
Всё ок, стало, перенес сайт на сервер с 5.7 и стоит и старые комментарии из БД подтянулись  Тока отправить коммент нельзя))) все заполняется, но кнопка Отправить не активна...
« Последнее редактирование: 31.12.2021, 18:31:07 от Zegeberg »
*

ProtectYourSite

  • Живу я здесь
  • 2366
  • 138 / 4
  • Безопасность вебсайтов
Re: Вышла новая версия JComments Fork 4.0.16
« Ответ #70 : 26.02.2022, 14:32:13 »
Jcomments 4.0.16 версия должна по идее решать проблемы с MySQL 5.6
*

Igor5

  • Захожу иногда
  • 101
  • 0 / 0
Re: Вышла новая версия JComments Fork 4.0.16
« Ответ #71 : 28.11.2022, 11:45:47 »
а как обновить сайт с Joomla! 3.10.11 на Joomla 4, если стоит JComments 3.0.7.9 , он не поддерживает переход понятно, установить на новом Joomla 4, JComments Fork 4 и перенести просто базу JComments 3.0.7.9 получится так?
или есть другие методы?
*

Helios

  • Захожу иногда
  • 421
  • 31 / 1
  • Аэтошозадеталь?
Re: Вышла новая версия JComments Fork 4.0.16
« Ответ #72 : 28.11.2022, 12:15:04 »
а как обновить сайт с Joomla! 3.10.11 на Joomla 4, если стоит JComments 3.0.7.9 , он не поддерживает переход понятно, установить на новом Joomla 4, JComments Fork 4 и перенести просто базу JComments 3.0.7.9 получится так?
или есть другие методы?
1. Делаете бекап
2. Удаляете старый jcomments(таблицы компонента останутся)
3. Устанавливаете новый jcomments. Если потребуется, делаете "Исправить" в "Проверка базы данных"(administrator/index.php?option=com_installer&view=database)
/* Have a nice day! */
*

AlexP750

  • Захожу иногда
  • 189
  • 1 / 0
Re: Вышла новая версия JComments Fork 4.0.16
« Ответ #73 : 14.01.2024, 21:34:46 »
Всем привет.
Будет ли работать последняя версия JComments на Joomla 5?
Сорри, если было.
Я сейчас в раздумьях - на чем начинать новый проект. На последней четверке, или пробовать новую версию. Посоветуйте, плз.
*

ProtectYourSite

  • Живу я здесь
  • 2366
  • 138 / 4
  • Безопасность вебсайтов
Re: Вышла новая версия JComments Fork 4.0.16
« Ответ #74 : 15.01.2024, 10:24:48 »
Добрый день, с плагином режима совместимости, да.
Переписывание под новые стандарты пока в разработке, сроков нету
*

creative3d

  • Захожу иногда
  • 189
  • 6 / 0
Re: Вышла новая версия JComments Fork 4.0.16
« Ответ #75 : 26.01.2024, 10:57:37 »
До смены владельца JComments, я открывал их внутри tab статьи таким образом:
Код
<?php
  $artId = JRequest::getInt('id');
$comments = JPATH_BASE . '/components/com_jcomments/jcomments.php';
if (file_exists($comments)) {
require_once($comments);
echo JComments::showComments($artId, 'com_content', $title);
}
?>
Чтобы такой метод работал, Настройки - Общие - Категории - здесь не должно быть выбрано ничего!
Чуть позже такой метод сломался, но отображал комментарии. (писанина не работала)
Сейчас смотрю на Joomla 5 версии и с новой версией JComments. Не работает.
1. В Настройки - Общие - Категории - здесь невозможно ничего не выбрать, по умолчанию обязательно что-нибудь выбирается. Возможно, это ключевая проблема.
2.
Код
<?php
            $artId = Factory::getApplication()->input->getInt('id');
$comments = JPATH_BASE . '/components/com_jcomments/jcomments.php';
if (file_exists($comments)) {
require_once($comments);
echo JComments::showComments($artId, 'com_content', $title);
}
?>
Не работает строка (возможно, из-за п.1, а может по другой причине):
Код
echo JComments::showComments($artId, 'com_content', $title);
Для информации сообщил.
*

Helios

  • Захожу иногда
  • 421
  • 31 / 1
  • Аэтошозадеталь?
Re: Вышла новая версия JComments Fork 4.0.16
« Ответ #76 : 26.01.2024, 11:51:35 »
Цитировать
Не работает строка (возможно, из-за п.1, а может по другой причине):
Вместо showComments(параметры) теперь просто show(параметры)
/* Have a nice day! */
*

creative3d

  • Захожу иногда
  • 189
  • 6 / 0
Re: Вышла новая версия JComments Fork 4.0.16
« Ответ #77 : 26.01.2024, 12:20:55 »
Да, работает, и даже комментарии добавляются. Неожиданно )
*

AlexP750

  • Захожу иногда
  • 189
  • 1 / 0
Re: Вышла новая версия JComments Fork 4.0.16
« Ответ #78 : 05.02.2024, 23:29:33 »
Добрый день, с плагином режима совместимости, да.
Спасибо! Вопрос отпал сам собой - ТП хостера (reg.ru) сказала:
Цитировать
На данный момент не планируется обновление MySQL до версии 8.0.13 и выбрать какую-то иную версию так же невозможно.

Поэтому, на данный момент, если вы хотите использовать Joomla 5, то стоит рассмотреть миграцию на облачный VPS-сервер, где возможно установить любую версию MySQL.
Лишних денег у меня сейчас нет, поэтому, я не буду брать VPS-сервер. Так что, пока останусь на Joomla 4

1. Делаете бекап
2. Удаляете старый jcomments(таблицы компонента останутся)
3. Устанавливаете новый jcomments.

Вопрос по третьему пункту - сначала обновляю Joomla до четвертой версии? Ведь на Github-е написано:
Цитировать
Modified Jcomments 3.0.7 with Recaptcha 2 in comments. Adapted to Joomla 4. No compatibility with Joomla 1.5\2.5\3.x
То есть, получается, что делать надо так:
1. Делаете бекап
2. Удаляете старый jcomments(таблицы компонента останутся)
2.5. Обновляетесь до Joomla 4
3. Устанавливаете новый jcomments.

Так?
*

ProtectYourSite

  • Живу я здесь
  • 2366
  • 138 / 4
  • Безопасность вебсайтов
Re: Вышла новая версия JComments Fork 4.0.16
« Ответ #79 : 05.02.2024, 23:50:16 »
Да, и потом ещё перенастроить права в настройках, но это на словах.
Скачок между версиями колоссальный в принципе
« Последнее редактирование: 05.02.2024, 23:55:28 от ProtectYourSite »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не отправляются комментарии из JComments 3.0.7.9

Автор akteon25

Ответов: 1
Просмотров: 1080
Последний ответ 21.02.2025, 12:41:06
от NewUsers
152-ФЗ jcomments электронная почта комментатора

Автор basn

Ответов: 1
Просмотров: 1058
Последний ответ 12.02.2025, 12:01:20
от basn
Как отключить капчу в jcomments 4?

Автор Алено4ка

Ответов: 1
Просмотров: 2077
Последний ответ 02.08.2024, 20:53:02
от ProtectYourSite
У Jcomments есть аналоги?

Автор ruslan13

Ответов: 10
Просмотров: 4183
Последний ответ 07.12.2023, 20:08:31
от Missile
JComments 3.0.7 в Joomla 3.10.12

Автор rezchik

Ответов: 2
Просмотров: 2523
Последний ответ 05.10.2023, 21:44:08
от rezchik