Новости 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 Ответов
  • 153776 Просмотров
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Здравствуйте, похоже появились проблемы с выходом новой Joomla.
SM FAQ 1.7.3.1 ставился на Joomla 3.1.5 полет был нормальный, обновился до Joomla 3.2 - теперь при попытке добавить вопрос :
Fatal error: Call to undefined method JApplicationSite::getHash() in
...\com_smfaq\views\form\tmpl\default.php on line 19
На всякий случай PHP-5.4.20
Есть идеи как решить проблему?

файл components/com_smfaq/views/form/tmpl/default.php
замените
Код
	$created_by = $this->escape( $app->input->cookie->get($app->getHash('com_smfaq.name'), null, 'STRING') );
$created_by_email = $this->escape( $app->input->cookie->get($app->getHash('com_smfaq.email'), null, 'STRING') );
на
Код
	$created_by = $this->escape( $app->input->cookie->get(JApplicationHelper::getHash('com_smfaq.name'), null, 'STRING') );
$created_by_email = $this->escape( $app->input->cookie->get(JApplicationHelper::getHash('com_smfaq.email'), null, 'STRING') );
*

Yoshi Ava

  • Новичок
  • 2
  • 0 / 0
SmokerMan, благодарю за оперативное решение проблемы.
*

Yastroitel

  • Захожу иногда
  • 110
  • 1 / 0
Вы не там на настраиваете, нужно настраивать в категории в которой Вы создали
Создаете категорию, и в настройках категории будет: Права: и кнопка -> Установить разрешения

Спасибо!
Я уже после фразы вы не там настраиваете понял что просто забыл долистнуть категорию до самого низа

*

Erema23

  • Новичок
  • 1
  • 0 / 0
Доброго времени суток. 
Joomla 2.5.14, SM FAQ 1.7.3.1. 
У меня такая проблема. Припопытке добавить вопрос, после нажатия 'Сохранить' выдаёт ошибку:

Catchable fatal error: Argument 1 passed to SmfaqControllerEdit::postSaveHook() must be an instance of JModelLegacy, instance of SmfaqModelEdit given, called in .....\libraries\joomla\application\component\controllerform.php on line 790 and defined in .....\components\com_smfaq\controllers\edit.php on line 139

Подскажите, в чём может быть дело, где править? Спасибо!
*

awastkey5

  • Новичок
  • 1
  • 0 / 0
Приветствую.
В общем возникла проблемка. Не работает кнопка "Добавить вопрос" (при её нажатии вылетает ошибка 500, если же сделать форму добавления вопроса сразу открытой, то при переходе на страницу с вопросами ничего нет, чистая страница ) для незарегистрированных пользователей, хотя в правах категории им разрешено добавлять вопросы. Версия Joomla 3.2. Думаю из-за версии Joomla такой глюк, можно ли его как-то исправить? Спасибо.
*

Accessor

  • Новичок
  • 3
  • 0 / 0
Здравствуйте!
У меня тоже возник вопрос, который был уже на этом форуме.
Как вывести на одной странице все категории с вопрос-ответами?
Родительскую категорию создал, в неё положил дочерние категории, осталось только понять как содержимое вывести ^-^.
*

Asttoxa

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Добрый вечер.
Захожу под редактором на страницу нажимаю "Показать неопубликованные вопросы"
Выходят вопросы ввиде ссылок. Если я нажму на любую ссылку выходит ошибка "500 - Макет blog не найден".
Подскажите где рыть. Спасибо

В строке он пишет так: "index.php/component/smfaq/?view=edit&layout=blog&id=3&catid=3"
Хотя когда редактировать опубликованный нажимаю строка выглядит так: "index.php/o-nas/faq?view=edit&layout=edit&id=1&catid=1"

ЗЫ Joomla 3.1.5   SM FAQ 1.7.3.1
« Последнее редактирование: 20.11.2013, 23:03:08 от Asttoxa »
*

debrsky

  • Новичок
  • 2
  • 0 / 0
Добрый день!

При сохранении ответа на вопрос в компоненте SM FAQ открывается полностью пустая страница, см. прикрепленный скриншот. Никаких ошибок в логах сервера на хостинге при этом не наблюдается.

На локальной копии сайта (Windows, Apache 2.2.25, PHP 5.4.20, MySQL 5.1.71) все работает нормально.

Техподдержка хостинга предложила добавить в .htaccess строчки:
php_value upload_max_filesize 100M
php_value post_max_size 100M
php_value max_execution_time 100
php_value memory_limit 128M

Но это ни к чему не привело.

Подскажите, пожалуйста, где искать ошибку?

P.S.
Joomla 2.5.16
SM FAQ 1.7.3.1
настройки PHP на хостинге: http://vh33.sweb.ru/phpinfo.php5

в личку могу отправить всю информацию для доступа на сайт для воспроизведения ошибки

P.P.S.
скриншот:
Спойлер
[свернуть]
« Последнее редактирование: 24.11.2013, 06:17:08 от debrsky »
*

юрий 009

  • Захожу иногда
  • 341
  • 5 / 1
Добрый день!
Подскажите, пожалуйста, где искать ошибку?
P.P.S.
скриншот:
Спойлер
[свернуть]
на хостинг не ругайтесь..., проверьте все ли правильно настроено в компоненте: доступ и т. д.
*

debrsky

  • Новичок
  • 2
  • 0 / 0
на хостинг не ругайтесь..., проверьте все ли правильно настроено в компоненте: доступ и т. д.
доступ проверил, для суперадминистратора все разрешено.

что еще можно проверить?
и вообще, какая настройка компонента может привести к тому, что вместо отображения чего-либо отображается полностью пустая страница?
*

mrdoolo

  • Новичок
  • 1
  • 0 / 0
Здравствуйте, Joomla 3.2 при установке компонента, выдает ошибку:  Обнаружена ошибка. 1146 Table 'u*****19_default.joom_smfaq' doesn't exist SQL=ALTER TABLE `joom_smfaq` ADD `metadesc` text NOT NULL, ADD `metakey` text NOT NULL
Что мне нужно предпринять? Заранее спасибо!
*

legora

  • Новичок
  • 2
  • 0 / 0
Други, помогите чайнику!
Компонент 1.7.2, Joomla 2.5.6.
Надо поменять в форме надпись к полю, вместо "имя" надо "компания". В каком файле это можно сделать, в какой папке файл лежит??   
*

юрий 009

  • Захожу иногда
  • 341
  • 5 / 1
Други, помогите чайнику!
Компонент 1.7.2, Joomla 2.5.6.
Надо поменять в форме надпись к полю, вместо "имя" надо "компания". В каком файле это можно сделать, в какой папке файл лежит??  
файл
ru-RU.com_smfaq
в папке по адресу:...\language\ru-RU
*

юрий 009

  • Захожу иногда
  • 341
  • 5 / 1
доступ проверил, для суперадминистратора все разрешено.

что еще можно проверить?
и вообще, какая настройка компонента может привести к тому, что вместо отображения чего-либо отображается полностью пустая страница?
извините... перепутал компоненты :(
*

legora

  • Новичок
  • 2
  • 0 / 0
файл
ru-RU.com_smfaq
в папке по адресу:...\language\ru-RU

Спасибо, друг. Надпись изменил, как мне надо.
*

AtomU235

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Joomla 2.5.16. Версия компонента 1.7.3.1. Форма добавления вопроса скрыта. Если нажать на кнопку "Добавить вопрос" вместо текста выводятся кракозябры. Если форма не скрыта то все норм. Такая проблема везде где используется AJAX. Как быть?
Еще если выводить автора вопроса; дату вопроса; дату ответа, но убрать автора ответа. То дата ответа вываливается за блок.
« Последнее редактирование: 05.12.2013, 11:26:25 от AtomU235 »
*

Angor

  • Новичок
  • 2
  • 0 / 0
Joomla 2.5.7 Версия компонента 1.7.3.1. Всё работает, только когда пользователь нажимает кнопку отправить, остаётся на этой же странице с открытой и заполненной формой, и может оправить её заново. Никаких сообщений о том что вопрос отправлен на странице не появляется.
Вопрос в базу попадает.
Спасибо.
*

юрий 009

  • Захожу иногда
  • 341
  • 5 / 1
Joomla 2.5.16. Версия компонента 1.7.3.1. Форма добавления вопроса скрыта. Если нажать на кнопку "Добавить вопрос" вместо текста выводятся кракозябры. Если форма не скрыта то все норм. Такая проблема везде где используется AJAX. Как быть?
значит где-то в файлах неправильная кодировку, должно быть UTF-8 без BOM, или подружить AJAX с файлами

Еще если выводить автора вопроса; дату вопроса; дату ответа, но убрать автора ответа. То дата ответа вываливается за блок.
виноват шаблон который вы используете, для исправления используйте это самый легкий способ
*

юрий 009

  • Захожу иногда
  • 341
  • 5 / 1
Joomla 2.5.7 Версия компонента 1.7.3.1. Всё работает, только когда пользователь нажимает кнопку отправить, остаётся на этой же странице с открытой и заполненной формой, и может оправить её заново. Никаких сообщений о том что вопрос отправлен на странице не появляется.
Вопрос в базу попадает.
Спасибо.
попробуйте поменять шаблон сайта
*

AtomU235

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Цитировать
виноват шаблон который
Как эта проблема связанна с шаблоном, интересно? Компонент осуществляет вывод в область "content". И сам (компонент SM FAQ) формирует разметку в предела блока content. Соответственно и косяки разметки за SM FAQ. Или я что-то не так понимаю?

По поводу кодировки. Дело видимо в AJAX, так как без AJAX проблем с кодировкой нет. В версии компонента 1.7.2 таких проблем нет и с AJAX
« Последнее редактирование: 08.12.2013, 10:18:15 от AtomU235 »
*

юрий 009

  • Захожу иногда
  • 341
  • 5 / 1
попробуй поменять на стандартный и отпишитесь
*

AtomU235

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Стандартный шаблон Beez_20, точно так же дата ответа вываливается за блок, если не выводить автора ответа. Как и предполагал выше, дело не в шаблоне.
« Последнее редактирование: 09.12.2013, 04:53:38 от AtomU235 »
*

Angor

  • Новичок
  • 2
  • 0 / 0
Joomla 2.5.7 Версия компонента 1.7.3.1. Всё работает, только когда пользователь нажимает кнопку отправить, остаётся на этой же странице с открытой и заполненной формой, и может оправить её заново. Никаких сообщений о том что вопрос отправлен на странице не появляется.
Вопрос в базу попадает.

Спасибо.
попробуйте поменять шаблон сайта

Менял на разные, результата нет.
« Последнее редактирование: 09.12.2013, 08:39:48 от Angor »
*

Katya_Lar

  • Захожу иногда
  • 95
  • 0 / 0
надо сделать, чтоб ответ открывался на новой странице. установила в админке открытие ответа по линку. при нажатии на вопрос на сайте вместо ответа вылезает 404 ошибка. если отключить стандартный SEF, то все ответ открывается нормально. SEF нужен обязательно. и ответ на новой странице тоже. как исправить данный баг?
« Последнее редактирование: 09.12.2013, 10:12:14 от Katya_Lar »
*

Katya_Lar

  • Захожу иногда
  • 95
  • 0 / 0
надо сделать, чтоб ответ открывался на новой странице. установила в админке открытие ответа по линку. при нажатии на вопрос на сайте вместо ответа вылезает 404 ошибка. если отключить стандартный SEF, то все ответ открывается нормально. SEF нужен обязательно. и ответ на новой странице тоже. как исправить данный баг?
Забыла написать версии: joomla  2.5, sm FAQ 1.7
*

Ganshmidt

  • Осваиваюсь на форуме
  • 14
  • 1 / 0
Добрый день! Столкнулся с проблемой : все работало и тут бац "Создание записей не допускается"
Joomla 2.5.11. Попрбовал сверху проадейтить компонент теперь "Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /home/sigmacl/public_html/administrator/components/com_smfaq/helpers/smfaq.php on line 33". Сейчас откачусь в бекапе не подскажите как справиться ?
*

Ganshmidt

  • Осваиваюсь на форуме
  • 14
  • 1 / 0
Joomla 2.5.11 PHP 5.3. SM FAQ версия 1.7.3.1 Вопросы не добавляет -  Создание записей не допускается.  Все работало что делать ?
*

юрий 009

  • Захожу иногда
  • 341
  • 5 / 1
Joomla 2.5.11 PHP 5.3. SM FAQ версия 1.7.3.1 Вопросы не добавляет -  Создание записей не допускается.  Все работало что делать ?
если сайт находится на локальном компьютере то оно будет работать некорректно, а если на хостинге тогда нужно, исправить или заменить файлы компонента простое удаление и установка понанову результатов может не дать ...
здесь явно проблемы в файле smfaq.php на линии 33
тоисть открывает этот файл в блокноте и проверяете что не так
там, НЕ хватает скобки или точки вообще то программа может обийтися и без етого кода
*

Bangoo

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
  • Пишу сайты на мантрах
Joomla версия 3.0.3, компонент SMFAQ 1.7.3.1
 В админке при нажатии на вопросы стиль админки пропадает, сами вопросы не появляются. Жаль раньше на другой версии пользовался этим компонентом.
Прикрепил скриншот.
*

okllll89

  • Новичок
  • 4
  • 0 / 0
Ув народ Joomlaфорума, помогите пожалуйста я вас умоляю
у кого есть свободное время я думаю вам не составит труда добавить в компонент функцию прикрепления изображения, я уже битую неделю не могу ничего нормально сделать

объясню в чем суть

обычный smfaq хорошая программа
но с загрузкой и выводом изображений она превратится в элементарный компонент Фотофакт
пример, можно увидеть тут http://www.mkala.ru/feedback/fotofakt/
кстати полученный компонент будет пользоваться большим спросом я обещаю
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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
Просмотров: 106706
Последний ответ 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