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

a_newbie

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Как убрать надпись "Additional Info", которая по умолчанию располагается над дополнительными полями?
Чё-то я туплю: вроде из всех php-файлов шаблона вырезал строчку "<h4><?php echo JText::_('Additional Info'); ?></h4>"... Но это не помогло!
В чём проблема? Подскажите, пожалуйста.
*

HYBRID

  • Захожу иногда
  • 228
  • 47 / 0
  • Они захватят мир
Re: Как убрать надпись "Additional Info"?
« Ответ #1 : 27.02.2011, 23:11:53 »
а в файлах расположенных в папке templates/используемый шаблон/html/com_k2/templates/default если таковая имеется?
http://hybrid-lab.com - лаборатория
*

a_newbie

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Re: Как убрать надпись "Additional Info"?
« Ответ #2 : 27.02.2011, 23:17:16 »
Спасибо за ответ. Но я там и повырезал. Странно, ничего не изменилось. Там файлы category_item.php, item.php и т.д.
*

a_newbie

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Re: Как убрать надпись "Additional Info"?
« Ответ #3 : 27.02.2011, 23:23:52 »
Не, то ли лыжи не едут, то ли я перегрелся >:(
Не пойму, в каком ещё файле может быть прописана эта "Additional Info"... Я полностью скопировал папку default и с энтузиазмом хирурга вырезал из каждого php-файла, где встречалась сия фраза, эту досадную строчку кода. Ничего не изменилось.
*

HYBRID

  • Захожу иногда
  • 228
  • 47 / 0
  • Они захватят мир
Re: Как убрать надпись "Additional Info"?
« Ответ #4 : 27.02.2011, 23:32:40 »
эта надпись есть только в трех файла
generic.php - вывод материалов по тегам
default/category_item.php - вывод материала в категории
default/item.php - один материал

ищи в них, или давай больше информации, о том где именно выводится
http://hybrid-lab.com - лаборатория
*

a_newbie

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Re: Как убрать надпись "Additional Info"?
« Ответ #5 : 28.02.2011, 00:37:18 »
Вот, в каком месте html-кода появляется эта несчастная надпись:
<div class="moduleItemExtraFields">
         <b>Additional Info</b>
         <ul>
                          <li class="typeTextfield group2">
                     <div class="clr"></div>

               </li>
                          <li class="typeTextfield group2">
                     <div class="clr"></div>
               </li>
                          <li class="typeTextfield group2">
                          <div class="clr"></div>
               </li>
                          <li class="typeTextfield group2">
                                <div class="clr"></div>
               </li>

                    </ul>
      </div>

Я убрал её из файлов category_item.php, item.php, generic.php (на всякий случай из всех троих ^-^)

Было так:
<!-- Item extra fields -->
     <div class="itemExtraFields">
        <h3><?php echo JText::_('Additional Info'); ?></h3>
        <ul>

Стало без <h3><?php echo JText::_('Additional Info'); ?></h3>.

Заменил все три файла как в папке default моего шабона, так и в папке components/k2/templates/default.
Всё равно Additional Info отображается.

Правильно ли я удалил строчку?

 :'(  crazy! Мда... что ж, утро вечера мудренее, как говорится...
*

HYBRID

  • Захожу иногда
  • 228
  • 47 / 0
  • Они захватят мир
Re: Как убрать надпись "Additional Info"?
« Ответ #6 : 28.02.2011, 00:42:06 »
внимательно смотрим сюда: <div class="moduleItemExtraFields">
и думаем, думаем, думаем какого же х**на мы ковыряем файлы отвечающие за вывод материала когда все это выводится через модуль
http://hybrid-lab.com - лаборатория
*

a_newbie

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Re: Как убрать надпись "Additional Info"?
« Ответ #7 : 28.02.2011, 18:45:09 »
Цитировать
внимательно смотрим сюда: <div class="moduleItemExtraFields">
и думаем, думаем, думаем какого же х**на мы ковыряем файлы отвечающие за вывод материала когда все это выводится через модуль
^-^ *DRINK*
HYBRID, спасибо. Всё, с этим вопросом разобрался.
*

Evgeniy_89

  • Захожу иногда
  • 60
  • 0 / 0
Re: Как убрать надпись "Additional Info"?
« Ответ #8 : 01.06.2011, 12:04:21 »
Неплохо было бы описать, как решилась проблема.

Ок, нашёл путь: templates\шаблон\html\mod_k2_content\default\default.php
« Последнее редактирование: 01.06.2011, 12:36:54 от Evgeniy_89 »
*

tim222

  • Захожу иногда
  • 67
  • 2 / 0
Re: Как убрать надпись "Additional Info"?
« Ответ #9 : 05.06.2011, 00:09:13 »
я в таких случаях пользуюсь связкой FireBug и поиском Архивариус - хорошо ищет текст в любых файлах)
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Re: Как убрать надпись "Additional Info"?
« Ответ #10 : 06.06.2011, 10:30:12 »
А не проще в языковом файле значение поля приравнять к пробелу, допустим?
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

rudic

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Re: Как убрать надпись "Additional Info"?
« Ответ #11 : 07.08.2011, 23:34:23 »
Я пробывал это надпись перевести на русский. Получаются одни нуля вместо текста Как это исправить?
*

HYBRID

  • Захожу иногда
  • 228
  • 47 / 0
  • Они захватят мир
Re: Как убрать надпись "Additional Info"?
« Ответ #12 : 08.08.2011, 00:07:02 »
сохранить файл в правильной кодировке, а еще лучше дописать языковую константу в ini-файл
http://hybrid-lab.com - лаборатория
*

zhook

  • Новичок
  • 6
  • 0 / 0
Re: Как убрать надпись "Additional Info"?
« Ответ #13 : 22.02.2012, 12:12:00 »
Joomla 2,5. Последняя версия К2.
В папке templates\шаблон\html\ нет папки mod_k2_content.
Как можно убрать надпись Additional Info?
*

HYBRID

  • Захожу иногда
  • 228
  • 47 / 0
  • Они захватят мир
Re: Как убрать надпись "Additional Info"?
« Ответ #14 : 22.02.2012, 16:48:09 »
/modules/mod_k2_content/tmpl/Default/default.php
http://hybrid-lab.com - лаборатория
*

zhook

  • Новичок
  • 6
  • 0 / 0
Re: Как убрать надпись "Additional Info"?
« Ответ #15 : 23.02.2012, 22:58:47 »
Спасибо. Только ничего не изменилось почему-то.
*

HYBRID

  • Захожу иногда
  • 228
  • 47 / 0
  • Они захватят мир
Re: Как убрать надпись "Additional Info"?
« Ответ #16 : 24.02.2012, 00:22:50 »
чистим кэш в Joomla и в браузере, смотрим, пытаемся разобраться тот ли самый код меняем
http://hybrid-lab.com - лаборатория
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Additional Categories for K2 в админке в материалах выводить все категории

Автор NIKOLY

Ответов: 0
Просмотров: 2437
Последний ответ 26.10.2024, 16:03:57
от NIKOLY
Убрать ограничение в коротком описании при создании категории в k2

Автор p.g.

Ответов: 0
Просмотров: 2625
Последний ответ 13.10.2022, 09:51:35
от p.g.
Убрать http:// из поля формы регистрации и профиля

Автор lgmax

Ответов: 2
Просмотров: 1962
Последний ответ 20.01.2021, 18:52:22
от dizastill
Как убрать показ объявлений от Google на некоторых страницах?

Автор klara7

Ответов: 1
Просмотров: 866
Последний ответ 14.04.2020, 09:15:48
от sivers
Как убрать tag-k2 в Joomla?

Автор dg_so_use

Ответов: 3
Просмотров: 1164
Последний ответ 18.06.2019, 11:17:11
от draff