Новости 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
У Вас либо нет сомого файла mootools.js, либо неправильно указан путь
Спасибо большое! Но файл то есть.
http://gorodlensk.ru/images/snimok.JPG
А где нужно указать путь, можете объяснить? Пожалуйста!
*

e.lodyanov

  • Захожу иногда
  • 126
  • 4 / 0
Спасибо большое! Но файл то есть.
http://gorodlensk.ru/images/snimok.JPG
А где нужно указать путь, можете объяснить? Пожалуйста!
Сначала удалите в компоненте Калькулятора в Вашей форме следующий код:
Код
<link rel="stylesheet" href="/components/com_formcalc/assets/css/classic/formcheck.css" type="text/css" />
  <script type="text/javascript" src="/media/system/js/mootools.js"></script>
  <script type="text/javascript" src="/components/com_formcalc/assets/js/lang/ru.js"></script>
  <script type="text/javascript" src="/components/com_formcalc/assets/js/formcheck.js"></script>
  <script type="text/javascript" src="/components/com_formcalc/assets/js/formcalc.js"></script>
А потом посмотрим.
*

serg0071

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Ребята помогите пожалуйста разобраться с конфликтом скриптов на Joomla 2.5. Есть калькулятор он работат на Joomla 1.5 , а на Joomla 2.5 не хочет работать.
*

orangemouse

  • Новичок
  • 7
  • 0 / 0
Сначала удалите в компоненте Калькулятора в Вашей форме следующий код:
Код
<link rel="stylesheet" href="/components/com_formcalc/assets/css/classic/formcheck.css" type="text/css" />
  <script type="text/javascript" src="/media/system/js/mootools.js"></script>
  <script type="text/javascript" src="/components/com_formcalc/assets/js/lang/ru.js"></script>
  <script type="text/javascript" src="/components/com_formcalc/assets/js/formcheck.js"></script>
  <script type="text/javascript" src="/components/com_formcalc/assets/js/formcalc.js"></script>
А потом посмотрим.
Сделала! http://gorodlensk.ru/testtest
Скажите, пожалуйста, куда теперь идти?
*

e.lodyanov

  • Захожу иногда
  • 126
  • 4 / 0
Сделала! http://gorodlensk.ru/testtest
Скажите, пожалуйста, куда теперь идти?
Вы наверное на сайте что-то делаете, он только что перестал работать
*

tuddi

  • Новичок
  • 5
  • 0 / 0
Добрый день))помогите люди добрые...всю тему прочел, но ответа не нашел..может кто-то опытный подскажет..
взял стандартный текст из примера на сайте разработчика,но он работает только в режиме отладки! тобишь результат в обычном режиме не выводит
вот собственно сам сайт http://bslc.ru/stoimost-uslug/formcalc/1
версия Joomla 3.2.3 никаких дополнительных компонентов и плагинов не стоит, разве что proforms, пробовал отключать не помогает,так же здесь находил сообщение о том,что может мешать Mootools или Jquery, их отключение с помощью плагина Joomla Options так же результата не дало
Спасибо за внимание)
« Последнее редактирование: 07.05.2014, 17:44:13 от tuddi »
*

e.lodyanov

  • Захожу иногда
  • 126
  • 4 / 0
Добрый день))помоги люди добрые...всю тему прочел, но ответа не нашел..может кто-то опытный подскажет..
взял стандартный
Так в чем вопрос, что значит стандартный?
*

tuddi

  • Новичок
  • 5
  • 0 / 0
Шаблон формы:
Количество: <input type="text" name="amount">
Цена: <input type="text" name="price">

Всего: {result1} Скидка: {discount}
Выслать результат на email: <input type="text" name="mailto">
{CAPTCHA}

<input type="submit" value="Рассчитать и выслать результаты"/>

Формула для шаблона:
result1={amount}*{price}
discount={price}/{amount}

Вопрос: как сделать так чтобы работало без включения режима отладки)
*

serg0071

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Ребята ну подскажите пожалуйста как наладить MOOTOOLS в Joomla 2.5.я уже перепробовал разные шаблоны, никак не хочет работать.Может его накдо подключить как-то, да я об этом не знаю.Подскажите пожалуйста.Я всю голову сломал уже.Поставил плагин уже JB Libliry все там включал и отключал, так ничего и не работает.Помогите пожалуйста наладить Joomla 2.5 под калькуляторы.
« Последнее редактирование: 07.05.2014, 18:29:47 от serg0071 »
*

e.lodyanov

  • Захожу иногда
  • 126
  • 4 / 0
Вопрос: как сделать так чтобы работало без включения режима отладки)
Нужна ссылка, там может что-нибудь проявится. И отключите отладку
*

e.lodyanov

  • Захожу иногда
  • 126
  • 4 / 0
Ребята ну подскажите пожалуйста как наладить MOOTOOLS в Joomla 2.5.я уже перепробовал разные шаблоны, никак не хочет работать.Может его накдо подключить как-то, да я об этом не знаю.Подскажите пожалуйста.Я всю голову сломал уже.Поставил плагин уже JB Libliry все там включал и отключал, так ничего и не работает.Помогите пожалуйста наладить Joomla 2.5 под калькуляторы.
Пришлите ссылку, может у Вас там ошибка в форме есть или формуле.
*

serg0071

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Вот рабочий сайт с рабочим калькулятором на Joomla 1.5    http://bestremont-nn.ru/kalkulaytor-uslug.html
А вот рабочий сайт на Joomla 2.5    http://суперпотолок.рф/tseny.html      и формы и шаблон калькулятора взятый с Joomla 1.5 одинаковый. Но никак не хочет работать.Пробовал и на денвере на разных шаблонах не работатет калькулятор. ПОМОГИТЕ как наладить МУТУЛС!
*

tuddi

  • Новичок
  • 5
  • 0 / 0
Добрый день))помогите люди добрые...всю тему прочел, но ответа не нашел..может кто-то опытный подскажет..
взял стандартный текст из примера на сайте разработчика, но он работает только в режиме отладки! тобишь результат в обычном режиме не выводит
вот собственно сам сайт http://bslc.ru/stoimost-uslug/formcalc/1
версия Joomla 3.2.3 никаких дополнительных компонентов и плагинов не стоит, разве что proforms, пробовал отключать не помогает, так же здесь находил сообщение о том, что может мешать Mootools или Jquery, их отключение с помощью плагина Joomla Options так же результата не дало
Спасибо за внимание)
Шаблон формы:
Количество: <input type="text" name="amount">
Цена: <input type="text" name="price">

Всего: {result1} Скидка: {discount}
Выслать результат на email: <input type="text" name="mailto">
{CAPTCHA}

<input type="submit" value="Рассчитать и выслать результаты"/>

Формула для шаблона:
result1={amount}*{price}
discount={price}/{amount}

Вопрос: как сделать так чтобы работало без включения режима отладки)
Нужна ссылка, там может что-нибудь проявится. И отключите отладку
http://bslc.ru/stoimost-uslug/formcalc/1 отладку выключил
*

e.lodyanov

  • Захожу иногда
  • 126
  • 4 / 0
Вот рабочий сайт с рабочим калькулятором на Joomla 1.5    http://bestremont-nn.ru/kalkulaytor-uslug.html
А вот рабочий сайт на Joomla 2.5    http://суперпотолок.рф/tseny.html      и формы и шаблон калькулятора взятый с Joomla 1.5 одинаковый. Но никак не хочет работать.Пробовал и на денвере на разных шаблонах не работатет калькулятор. ПОМОГИТЕ как наладить МУТУЛС!
Подключите скрипт мутулса, между тегами <head> вставьте <script src="/media/system/js/mootools-more.js" type="text/javascript"></script>
Проверим потом, может еще есть проблемы.
*

e.lodyanov

  • Захожу иногда
  • 126
  • 4 / 0
http://bslc.ru/stoimost-uslug/formcalc/1 отладку выключил
Вы тоже не подключили мутулс.
Вставьте между <head>:
<script src="/media/system/js/mootools-core.js" type="text/javascript"></script>
<script src="/media/system/js/mootools-more.js" type="text/javascript"></script>
*

serg0071

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Подключите скрипт мутулса, между тегами <head> вставьте <script src="/media/system/js/mootools-more.js" type="text/javascript"></script>
Проверим потом, может еще есть проблемы.
Подключил, пока никаких изменений.
*

tuddi

  • Новичок
  • 5
  • 0 / 0
Вы тоже не подключили мутулс.
Вставьте между <head>:
<script src="/media/system/js/mootools-core.js" type="text/javascript"></script>
<script src="/media/system/js/mootools-more.js" type="text/javascript"></script>


Спасибо тебе!Добрый человек))) *DRINK* полез в шаблон в index.php и там увидел вот что))удалил код и все заработало!!)) ^-^
// исключаем mootools, если он нужен, то удалите код ниже
unset($this->_scripts[$this->baseurl.'/media/system/js/mootools-core.js'],
   $this->_scripts[$this->baseurl.'/media/system/js/mootools-more.js'],
   $this->_scripts[$this->baseurl.'/media/system/js/core.js'],
        $this->_scripts[$this->baseurl.'/media/system/js/validate.js'],
   $this->_scripts[$this->baseurl.'/media/system/js/caption.js']);

 if (isset($this->_script)and(count($this->_script))){
        preg_match("/window\.addEvent\('load',\sfunction\(\)\s\{[\s]*new\sJCaption\('img\.caption'\);[\s]*\}\);/iU", $this->_script['text/javascript'],$match);
        if (isset($match[0])) {
            $this->_script['text/javascript']=str_replace($match[0],'',$this->_script['text/javascript']);
        }
}

if( empty($this->_script['text/javascript']) ) {
            unset( $this->_script['text/javascript'] );
}
//конец mootools
*

e.lodyanov

  • Захожу иногда
  • 126
  • 4 / 0
Спасибо тебе!Добрый человек))) *DRINK* полез в шаблон в index.php и там увидел вот что))удалил код и все заработало!!)) ^-^
Не за что! Можешь плюс поставить в карму)
*

tuddi

  • Новичок
  • 5
  • 0 / 0
Не за что! Можешь плюс поставить в карму)
скажи как))кто-то тут писал вроде 10 сообщений надо набрать...
если модератор тут, поставьте ему плюс!))действительно помог)
*

e.lodyanov

  • Захожу иногда
  • 126
  • 4 / 0
скажи как))кто-то тут писал вроде 10 сообщений надо набрать...
если модератор тут, поставьте ему плюс!))действительно помог)
Ну ничего, значит не судьба. Поставишь потом как-нибудь))
*

serg0071

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Подключил, пока никаких изменений.
А мне что делать подскажите так и нерабоатет калькулятор на Joomla 2.5.Скрипт подключил.
*

e.lodyanov

  • Захожу иногда
  • 126
  • 4 / 0
А мне что делать подскажите так и нерабоатет калькулятор на Joomla 2.5.Скрипт подключил.
Вы зачем подключили <script src="/media/system/js/mootools-core.js" type="text/javascript"></script>
Удалите, он уже есть у Вас.
Если не заработает после удаления, то попробуйте вставить тот, о котором я говорил
Код
<script src="/media/system/js/mootools-more.js" type="text/javascript"></script>

за этим
Код
<script src="/media/system/js/caption.js" type="text/javascript"></script>
чтобы получилось:
Код
<script src="/media/system/js/mootools-core.js" type="text/javascript"></script>
<script src="/media/system/js/core.js" type="text/javascript"></script>
<script src="/media/system/js/caption.js" type="text/javascript"></script>
<script src="/media/system/js/mootools-more.js" type="text/javascript"></script>
*

serg0071

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Вы зачем подключили <script src="/media/system/js/mootools-core.js" type="text/javascript"></script>
Удалите, он уже есть у Вас.
Если не заработает после удаления, то попробуйте вставить тот, о котором я говорил
Код
<script src="/media/system/js/mootools-more.js" type="text/javascript"></script>

за этим
Код
<script src="/media/system/js/caption.js" type="text/javascript"></script>
чтобы получилось:
Код
<script src="/media/system/js/mootools-core.js" type="text/javascript"></script>
<script src="/media/system/js/core.js" type="text/javascript"></script>
<script src="/media/system/js/caption.js" type="text/javascript"></script>
<script src="/media/system/js/mootools-more.js" type="text/javascript"></script>

Вставил как вы говорите, но по коду этот скрипт не выходит за тремя которые вы написали
*

e.lodyanov

  • Захожу иногда
  • 126
  • 4 / 0
Вставил как вы говорите, но по коду этот скрипт не выходит за тремя которые вы написали
Теперь Вы удалили <script src="/media/system/js/caption.js" type="text/javascript"></script> а он может пригодится.
Позвольте Вас обрадовать, у Вас все заработало))
*

serg0071

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Теперь Вы удалили <script src="/media/system/js/caption.js" type="text/javascript"></script> а он может пригодится.
Позвольте Вас обрадовать, у Вас все заработало))
Извините меня, но у меня не работает до сих пор.
*

e.lodyanov

  • Захожу иногда
  • 126
  • 4 / 0
Извините меня, но у меня не работает до сих пор.
Ой, извините, это я не Ваш сайт смотрел, перепутал.
*

e.lodyanov

  • Захожу иногда
  • 126
  • 4 / 0
Извините меня, но у меня не работает до сих пор.
Могу предположить, что не работает из-за кириллического домена, или из-за конфликта/ов скриптов. Я в этом не разбираюсь, но браузер ругается на строчку 304 в файле formcheck.js
Код
this.form.getElements("*[class*=validate]").each(function(el) {
пишет Uncaught TypeError: undefined is not a function может кто-нибудь подскажет в чем проблема. У меня на сайте на эту строчку не ругается и все работает.
*

Specialist_gg

  • Новичок
  • 4
  • 0 / 0
Здравствуйте, подскажите пожалуйста.

Joomla 3.2.2

При написании "шаблона email сообщения" и "шаблона сообщения при отсылке формы", после сохранения - все съезжает в одну строчку. Как это можно побороть?

Цель: отображение в этих шаблонах информации для проверки, которая была заполнена...
« Последнее редактирование: 08.05.2014, 16:12:38 от Specialist_gg »
*

kalibrs

  • Осваиваюсь на форуме
  • 20
  • 5 / 0
Когда выйдет обновление до Joomla3.3.0

После обновления до Joomla3.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

можно без обновлений подправить?

Народ не спешите обновлять до  Joomla3.3.0
*

e.lodyanov

  • Захожу иногда
  • 126
  • 4 / 0
Здравствуйте, подскажите пожалуйста.

Joomla 3.2.2

При написании "шаблона email сообщения" и "шаблона сообщения при отсылке формы", после сохранения - все съезжает в одну строчку. Как это можно побороть?

Цель: отображение в этих шаблонах информации для проверки, которая была заполнена...
Я через phpMyAdmin заходил в форму и вставлял свой HTML. Неудобно, но пришлось. После этого уже только там работать, так как в панели управления, при сохранении снова все съезжает
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Компонент 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