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

Mobist

  • Новичок
  • 5
  • 0 / 0
SmokerMan спасибо, помогло.
*

novoross

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Есть кто живой.

Всем привет!
Установил компонент и плагин, плагин включил, после захожу в компонент, и при заходе туда, сразу выдаёт эту ошибку..

Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /home/ugstroytorg/data/www/сайт/administrator/components/com_smfaq/helpers/smfaq.php on line 33


Подскажите, как быть??


На Joomla 1.5 полёт нормальный. (естественно устанавливал версию для 1.5), но на 2.5 Joomla и версия для Joomla 1.5 и нужная версия для 2.5 не идёт.

Что то в joomle менять надо, а что.. ?
« Последнее редактирование: 15.09.2013, 01:44:40 от novoross »
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
to novoross
я так и не понял что и куда ставиться
Какая версия Joomla? Какая версия компонента?

Покажите кусок файла administrator/components/com_smfaq/helpers/smfaq.php
до 34 строчки
*

novoross

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
версия Joomla! 2.5.14. Неккоректно работают все версии smfaq.
 
« Последнее редактирование: 15.09.2013, 21:07:35 от novoross »
*

novoross

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
to novoross
я так и не понял что и куда ставиться
Какая версия Joomla? Какая версия компонента?

версия Joomla! 2.5.14. Неккоректно работают все версии smfaq.
  Как и просили. Помогите пожалуйста
Цитировать
<?php
/**
 * SMFAQ
 *
 * @package      Component for Joomla 2.5.6+
 * @version      1.7.3
 * @copyright   (C)2009 - 2013 by SmokerMan (http://joomla-code.ru)
 * @license      GNU/GPL v.3 see http://www.gnu.org/licenses/gpl.html
 */

// защита от прямого доступа
defined('_JEXEC') or die('@-_-@');

/**
 * Smfaq helper
 *
 */
class SmFaqHelper
{
   /**
    * Конфигурация доп меню
    *
    * @param   string   $vName   Имя вида.
    */
   public static function addSubmenu($vName)
   {
       if (version_compare(JVERSION, '3.0') >= 0) {
           $class = 'JHtmlSidebar';
       } else {
           $class = 'JSubMenuHelper';
       }
       
      $class::addEntry(
         JText::_('COM_SMFAQ_QUESTIONS_MENU'),


Покажите кусок файла administrator/components/com_smfaq/helpers/smfaq.php
до 34 строчки

*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Ок)
Исправлю в ближайшее время.
Эта ошибка возникает на php < 5.3

пока для Joomla 2.5+ можно заменить функцию addSubmenu
Код
	public static function addSubmenu($vName) {
....
        }

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

Напоминаю, что Joomla 3+ будет требовать php 5.3+, так что если есть возможность, то можно просто переключиться на эту версию php
*

novoross

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Ок)
Исправлю в ближайшее время.
Эта ошибка возникает на php < 5.3

Всё, спасибо помогло )) Примного благодарен ))
пока для Joomla 2.5+ можно заменить функцию addSubmenu
Код
	public static function addSubmenu($vName) {
....
        }

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

Напоминаю, что Joomla 3+ будет требовать php 5.3+, так что если есть возможность, то можно просто переключиться на эту версию php
*

novoross

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Так..

Проблема ещё одна

При выборе добавления вопроса, выскакивает следующее

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

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
вам необходимо включить расширение DOM в PHP
http://www.php.net/manual/ru/dom.installation.php
*

novoross

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Спасибо за помощь)
« Последнее редактирование: 18.09.2013, 22:40:50 от novoross »
*

novoross

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Всё, тема закрыта)
« Последнее редактирование: 18.09.2013, 22:40:30 от novoross »
*

Katya_Lar

  • Захожу иногда
  • 95
  • 0 / 0
В коде появились ссылки и выдают 404 ошибку
<link href="/voprosy-i-otvety.feed?type=rss" rel="alternate" type="application/rss+xml" title="RSS 2.0" />
<link href="/voprosy-i-otvety.feed?type=atom" rel="alternate" type="application/atom+xml" title="Atom 1.0" />

Куда копать? Где их убрать вообще?
« Последнее редактирование: 25.09.2013, 15:07:41 от Katya_Lar »
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Куда копать? Где их убрать вообще?
угу, спасибо.
В файле components/com_smfaq/views/category/view.html.php
Замените пока
Цитировать
if ($this->params->get('show_feed_link', 1) == 1)
на
Цитировать
if ($this->params->get('show_feed_link', 0) == 1)

Забыл совсем про него, в следующей версии исправлю
*

tulk

  • Новичок
  • 1
  • 0 / 0
Итак, как обещал, выложил новый релиз 1.7.3, в котором добавлена поддержка Joomla 3+. Подробности на официальной странице компонента (указана в топике).
В связи с внесением определенных правок в код (для совместимости версий Joomla), просьба желающим протестировать новую версию.
При наличии багов или неработоспособности функционала, пожалуйста, отпишитесь в этой теме. Не забудьте указывать версию Joomla и по возможности подробнее описывать ошибку.

Обратите внимание, что данная версия работает начиная с Joomla 2.5.6
Здравствуйте. 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
После перезагрузки страницы, выдаёт «У вас нет прав на доступ к данной странице по прямой ссылке (#1).» После повторной перезагрузки – всё становится нормально и ответ на вопрос становится опубликован.
С версией 1.7.2, такого нет.
Проверено на Дэнвере и на удалённом сервере.
В обоих версиях, у меня в режиме «отображения вопросов – вопрос как ссылка» не отображаются во фронт энде «автор», «дата создания» и «автор ответа», а «опрос», наоборот, не возможно скрыть. Эти функции, вообще ни как не реагируют на изменения в настройках, когда включено отображение «вопрос как ссылка». Нельзя ли с этим что то сделать? Потому что очень нужно.
Так же выскажу своё мнение, что красивее было бы и функциональнее, что бы «автор»,  «дата создания» и «автор ответа» отображались бы вместе с вопросом, а не с ответом (мне так кажется).
Спасибо.
С уважением.

« Последнее редактирование: 26.09.2013, 20:01:19 от tulk »
*

Douson

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Подскажите, в чем причина. У меня Joomla 2.5.6 при попытке задать вопрос, выскакивает сообщение "Подтвердите действие. ошибка 404".
На сайте было написано что надо править файл router.php, но ничего не помогло. Как ее исправить. ЧПУ включен.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
tulk
спасибо, поправлю

Подскажите, в чем причина. У меня Joomla 2.5.6 при попытке задать вопрос, выскакивает сообщение "Подтвердите действие. ошибка 404".
На сайте было написано что надо править файл router.php, но ничего не помогло. Как ее исправить. ЧПУ включен.
ссылка на сайт нужна, можно в личку
*

RichardFerlow

  • Новичок
  • 2
  • 0 / 0
Сломал голову, не могу сделать чтобы уведомления приходили.
Устанавливал на чистую Joomla 3.1, версию 1.7.3.1
Создал категорию "Вопросы эксперту". в Права доступа к категории для Super user выставил все в Разрешить(справа зеленым все светится) - под гостем создаю вопрос и не приходят уведомления и все.
в Super User три пользователя, из других компонентов почта приходит успешно, в том числе письмо о регистрации.

Как найти проблему? Уже заново переустанавливал полностью модуль этот - тщетно
http://test.goldentravel-nsk.ru/index.php?option=com_smfaq&view=category&id=53&Itemid=156
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
А в настройках категории не выключены уведомления?
зайти в категорию -> Вкладка настройки -> Параметры отображения формы ->  Отключить уведомления - должно стоять нет
*

RichardFerlow

  • Новичок
  • 2
  • 0 / 0
Да, это проверял, стоит нет.
*

VasinDrew

  • Новичок
  • 1
  • 0 / 0
Использую компонент уже давно, с 2011, всем абсолютно доволен (многие функции, правда, мне не нужны, но это к делу не относится). Некоторое время назад перестала работать функция, отвечающая за вложенность ответа в вопрос, страница грузится с открытыми ответами (вопрос, а под ним - ответ). Точнее, грузится полностью в Chrome, в Мозилле до конца загрузка не происходит. Однако и там, и там результат один. Версия Joomla старая - 1.5.7, обновляться не собираюсь, версия компонента - 1.3.1. Результат вывода страницы одинаков и на локалке, и на хостинге. На локалке версия php - 5.2.4 Словом - все старое.

Читал, что с версии 1.2 компонент освободился от mootools, значит, дело не в нем. А в чем же может быть дело? Если нужно посмотреть сайт - дам координаты в личку. Спасибо!
*

sergstar

  • Осваиваюсь на форуме
  • 20
  • 0 / 1
Установил com_smfaq_1.7.3.1 на Joomla 3.1.5
Проблема в том, что пропали буквы с кнопок. Верней они есть, только сливаются с цветом окошек (белый)
в CSS компонента искал, но ненашёл нечего. чтоб изменить.
В каком месте менять? Подскажите пожалуйста?
А то мысли уж о замене на другой FAQ. Хотя на 1.5 Joomla 2 года работал. нехотелось бы из за этой мелочи другой ставить.
Сайт:
Спойлер
[свернуть]
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
В каком месте менять? Подскажите пожалуйста?
у вас текст с фоном сливается
этот файл
Код
http://www.stroiremont63.ru/components/com_smfaq/css/smfaq.css
строка
Код
#smfaq .button {
    background: none repeat scroll 0 0 #FFFFFF;
...
надо либо убрать либо заменить на свою
*

sergstar

  • Осваиваюсь на форуме
  • 20
  • 0 / 1
у вас текст с фоном сливается
этот файл
Код
http://www.stroiremont63.ru/components/com_smfaq/css/smfaq.css
строка
Код
#smfaq .button {
    background: none repeat scroll 0 0 #FFFFFF;
...
надо либо убрать либо заменить на свою

Вот как раз нечего и не получается. И меняю, и удаляю, всё как стоит на месте так и стоит.
Вот сам фаил, его содержимое как есть.
components/com_smfaq/css/smfaq.css

Строку менял:
#smfaq .button {display:inline-block;padding:3px 4px;-moz-border-radius:3px;-webkit-border-radius:10px;-khtml-border-radius:10px; border:#AAAAAA solid 1px;background:#FFFFFF}

background:#FFFFFF}


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

sergstar

  • Осваиваюсь на форуме
  • 20
  • 0 / 1
Некто больше дельного совета не даст? По выше написаному?
*

FED

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
sergstar, #smfaq .button {display:inline-block;padding:3px 4px;-moz-border-radius:3px;-webkit-border-radius:10px;-khtml-border-radius:10px; border:#AAAAAA solid 1px;background:#FFFFFF} Изменить на #smfaq .button {display:inline-block;padding:3px 4px;-moz-border-radius:3px;-webkit-border-radius:10px;-khtml-border-radius:10px; border:1px solid #AAAAAA; background:#3F2626;}

Вопрос разработчикам
Версия Joomla!    Joomla! 2.5.14 Stable [ Ember ] 01-August-2013 14:00 GMT
Версия Joomla! Platform    Joomla Platform 11.4.0 Stable [ Brian Kernighan ] 03-Jan-2012 00:00 GMT
Версия PHP    5.3.3
Версия базы данных    5.1.49

Когда через front-end отвечаешь на вопрос и в конце формы нажать на кнопку сохранить выкидывает на белую страницу (ссылка такого вида /component/smfaq/?view=edit&layout=edit&id=3&catid=3) и при этом ответ сохраняется.
А если нажать на кнопку закрыть скидывает сюда /component/smfaq/category с 404 ошибкой

Помогите разобраться...
*

webdgine

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Приветствую всех! Спасибо автору за замечательный компонент! Все работает нормально. Но у меня появился вопрос: как сделать вывод подкатегорий развернутыми, чтобы вопросы из подкатегорий отображались в категории?
*

Yoru

  • Новичок
  • 2
  • 0 / 0
Здравствуйте :)

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

Компонент и правда шикарен, а, главное, допиливания не требует (стили не в счет). Автор, вы молодец :) Творите дальше)
*

Yoshi Ava

  • Новичок
  • 2
  • 0 / 0
Здравствуйте, похоже появились проблемы с выходом новой 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
Есть идеи как решить проблему?
*

Yastroitel

  • Захожу иногда
  • 110
  • 1 / 0
Добрый день!

Joomla 2.5
SMFAQ 1.7.3

Упорно не могу понять как настроить права доступа для Public чтобы можно было задать вопрос

На настройках уровней доступа права только по управлению компонентом
*

юрий 009

  • Захожу иногда
  • 341
  • 5 / 1
Добрый день!

Joomla 2.5
SMFAQ 1.7.3

Упорно не могу понять как настроить права доступа для Public чтобы можно было задать вопрос

На настройках уровней доступа права только по управлению компонентом

Вы не там на настраиваете, нужно настраивать в категории в которой Вы создали
Создаете категорию, и в настройках категории будет: Права: и кнопка -> Установить разрешения
« Последнее редактирование: 07.11.2013, 23:06:44 от юрий 009 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор sergeytolkachyov

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

Автор fbr

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

Автор zikkuratvk

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

Автор buyanov

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

Автор Septdir

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