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

orangemouse

  • Новичок
  • 7
  • 0 / 0
Вы наверное на сайте что-то делаете, он только что перестал работать
сейчас сайт работает, посмотрите, пожалуйста, что нужно дальше делать? http://gorodlensk.ru/testtest
*

e.lodyanov

  • Захожу иногда
  • 126
  • 4 / 0
сейчас сайт работает, посмотрите, пожалуйста, что нужно дальше делать? http://gorodlensk.ru/testtest
Вроде все норма, только ругается на одну строчку (прикрепляю). Но в этом я уже не понимаю.
*

zuzerex

  • Новичок
  • 4
  • 0 / 0
Помогите условия правильно оформить, т.к полный ноль в js не могу решить.
есть значения X и Y, Если  X=0 тогда использовать X=Y/10, если X>0 тогда X=X
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Код: javascript
if ( x == 0) {
    x = y / 10
}
 

Я как понял тут X может быть только в 2-х значениях. 0 и больше нуля (оно не может быть отрицательным, верно?). Тогда если Х не равен нулю - то можем ничего не делать.
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

ravilwild

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Кто решил эту проблему:
Фатальная ошибка: Класс " FormCalcsController' не найдена в /home/aqq14348/public_html/surgut-potolok.ru/administrator/components/com_formcalc/admin.formcalc.php on line 38
Подскажите, где править.

Уже не надо. Решил.
« Последнее редактирование: 20.05.2014, 15:57:28 от ravilwild »
*

zuzerex

  • Новичок
  • 4
  • 0 / 0
Код: javascript
if ( x == 0) {
    x = y / 10
}
 

Я как понял тут X может быть только в 2-х значениях. 0 и больше нуля (оно не может быть отрицательным, верно?). Тогда если Х не равен нулю - то можем ничего не делать.



а как его в калькуляторе использовать, в шаблон вставить текст
 
Код
<script type="text/javascript">
               if ( x == 0) {
    x = y / 10
}
            </script>
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Это в самом компоненте делать. Там, где формула вставляется. Там же на голом JS можно писать.
И после него вывод результата.

Большего подсказать не могу, у меня не стоит данный компонент на сайтах.
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

zuzerex

  • Новичок
  • 4
  • 0 / 0
хорошо, спасибо, попробую что нибудь сделать!
*

alexj69

  • Захожу иногда
  • 244
  • 28 / 0
  • Думать надо!!!
в начале темы есть примеры, делайте по ним
*

zuzerex

  • Новичок
  • 4
  • 0 / 0
в начале темы есть примеры, делайте по ним

я как понимаю, само условие <script type="text/javascript"></script> мы вставляем в поле «шаблон» редактируемого калькулятора или в сам js калькулятора?
*

alexj69

  • Захожу иногда
  • 244
  • 28 / 0
  • Думать надо!!!
вставляешь в поле, где код формы
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Без тегов <script....
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

Goodgit

  • Новичок
  • 3
  • 0 / 0
Здравствуйте.
При использовании данного калькулятора всё работает кроме одной вещи - отправки на емайл.
Делаю всё один в один как в "Примере формы обратной связи". После заполнения всех нужных полей и нажатии на кнопку "Отправить заявку" осуществляется переход на страницу с текстом "Ваша заявка отправлена администраторам сайта ..., при этом вверху появляются две красные надписи об ошибке: "Невозможно определить функцию для отправки почты".
Письма соответственно тоже не приходят. Ни администратору, ни пользователю.
Помогите, пожалуйста!
*

e.lodyanov

  • Захожу иногда
  • 126
  • 4 / 0
Попробуй сменить Способ отправки в Настройка почты Общие настройки Joomla.
*

e.lodyanov

  • Захожу иногда
  • 126
  • 4 / 0
Подскажите, как реализовать?
Есть список из восьми областей, который предлагается посетителю сайта на выбор при заявке на сайте. Нужно отправлять заявку именно на e-mail выбранной области. У каждой области свой e-mail и нужно, чтобы именно ему уходила заявка. Ну и чтобы администратору во всех случаях дублировалась заявка.
*

nigra

  • Новичок
  • 3
  • 0 / 0
Анонсирую выход новой версии компонента FormCalc под Joomla 3.0, скачать и пользоваться можно по адресу http://delajoom.ru/index.php/skachat-komponent-reshenija , полная преемственность старым принципам построения калькуляторов под Joomla  и расчетов. 
Добрый день!
Установил компонент для Joomla 3.0, пытаюсь создать форму выдает ошибку -
Fatal error: Declaration of TableFormCalc::bind() must be compatible with that of JTableInterface::bind() in /..../public_html/administrator/components/com_formcalc/tables/formcalc.php on line 90
*

Goodgit

  • Новичок
  • 3
  • 0 / 0
После нажатия на кнопку "Сохранить" в полях "Шаблон email сообщения" и "Шаблон сообщения при отсылке формы" почему-то все тэги заменяются на пробелы! В результате вместо нормальной таблицы получается набор букв.
Отключение редактора (Tiny MCE и др.) не помогло.
Из-за чего такое может быть?

P. S. Текстовые фильтры у администратора и суперюзера отключены.
« Последнее редактирование: 26.05.2014, 15:58:31 от Goodgit »
*

e.lodyanov

  • Захожу иногда
  • 126
  • 4 / 0
После нажатия на кнопку "Сохранить" в полях "Шаблон email сообщения" и "Шаблон сообщения при отсылке формы" почему-то все тэги заменяются на пробелы! В результате вместо нормальной таблицы получается набор букв.
Отключение редактора (Tiny MCE и др.) не помогло.
Из-за чего такое может быть?

P. S. Текстовые фильтры у администратора и суперюзера отключены.

Бесполезно. Я решил проблему путем подготовки HTML кода и заброса его напрямую в БД через пхпмайадмин
*

Goodgit

  • Новичок
  • 3
  • 0 / 0
Бесполезно. Я решил проблему путем подготовки HTML кода и заброса его напрямую в БД через пхпмайадмин
Вот блин! А как это хоть примерно делается?
И вообще - почему так? Ведь на Joomla 1.5 отправка на e-mail работала!
*

e.lodyanov

  • Захожу иногда
  • 126
  • 4 / 0
Вот блин! А как это хоть примерно делается?
И вообще - почему так? Ведь на Joomla 1.5 отправка на e-mail работала!
Нужно зайти в phpMyAdmin, найти таблицу ..._formcalc Нажать изменить и заменить основной текст. Предварительно сделай его в редакторе и скопируй HTML код.
Не знаю почему, вырезает все теги и все!
*

Ingener

  • Давно я тут
  • 547
  • 10 / 5
хочу спросить разработчик по прежнему не отвечает ни по почте ни по аське  с сайта? Несколько раз обращался - ни ответа ни привета, и не только я кстати
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Мне пару лет назад ответил, помог с компонентом.
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

cantsave

  • Захожу иногда
  • 215
  • 2 / 0
Хочу установить "Прокрутка - Slider в mootools" на Joomla 2.5. Может у кого уже есть опыт по установке? Мне бы исходники, а потом уже может быть разберусь что да как
*

kalibrs

  • Осваиваюсь на форуме
  • 20
  • 5 / 0
Как вивести две разные формы на странице?
{formcalc 1}
{formcalc 2}
В таком варианте выводит только первую форму.
как сделать что бы работала две формы на одной странице?
*

alexj69

  • Захожу иногда
  • 244
  • 28 / 0
  • Думать надо!!!
2 формы на одной странице не будут работать.
*

cantsave

  • Захожу иногда
  • 215
  • 2 / 0
Решил сделать калькулятор кредита. Поставил себе (http://mfo-fortuna.ru/zajmy/kalkulyator-zajma.html) jQuery UI Slide. Слайд сам работает, но сам компонент с value jquery не выдергивает данные, и из-за этого сумма остается нулем. Как решить?
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Код: javascript
var sliderValue = 1;

$("#mySlider").slider({
    min: 1,
    max: 10,
    value: 1,
    slide: function(event, ui){
        sliderValue = ui.value;
    }
});
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

axel999

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Доброй ночи... вот опять недосып на три часа, спасибо formcalc  ;D

Ребята, помогите разобраться. Joomla 2.5.20 компонент калькулятора и плагина  1.7 (с сайта разработчика) шаблон JBAscent. На сайте в файле htaccess настроено перенаправление:
Код
Options +SymLinksIfOwnerMatch
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.binom\.pro
RewriteRule ^(.*)$ http://binom.pro/$1 [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://binom.pro/ [R=301,L]

RewriteRule ^index.php/(.*)$ $1 [R=301,L]


RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]

RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]

RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]

RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})

RewriteRule .* index.php [F]


 RewriteBase /


RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

RewriteCond %{REQUEST_URI} !^/index\.php

RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule .* index.php [L]
Из-за этого компонент не работает на страницах где адрес заканчивается на .ru, в моем случае .pro
Т.е. если заявка отправляется со страницы типа binom.pro/eshe/stati.html, то все ОК. А со страницы site.pro не работает.
« Последнее редактирование: 11.06.2014, 18:19:15 от axel999 »
*

axel999

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
*

cantsave

  • Захожу иногда
  • 215
  • 2 / 0
Модуль поставили. Ту забросили.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Компонент Web Plan интерактивная карта для Joomla 1.5 (построение сайтов плановых объектов)

Автор DelaShop

Ответов: 39
Просмотров: 32428
Последний ответ 21.01.2018, 14:50:57
от Dinamitt
Калькулятор форм - продолжение

Автор osobist

Ответов: 2
Просмотров: 5296
Последний ответ 25.01.2015, 18:00:18
от dj_serg
Отрывной календарь Joomla, календарь событий.

Автор DelaShop

Ответов: 35
Просмотров: 32565
Последний ответ 17.12.2014, 06:20:05
от EndVal
Компонент " Просто каталог Joomla + Mixmarket Joomla "

Автор DelaShop

Ответов: 16
Просмотров: 18451
Последний ответ 10.07.2013, 11:06:13
от konservator