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

OKEAH

  • Осваиваюсь на форуме
  • 48
  • 2 / 0
По умолчанию в дефолтной форме регистрации все обязательные к заполнению поля выделены желтым фоном.
Как сменить цвет фона?  Использую шаблон в темных цветах и эти желтые поля никак не вписываются... :(
 !
*

ELesnikov

  • Захожу иногда
  • 119
  • 8 / 0
По умолчанию в дефолтной форме регистрации все обязательные к заполнению поля выделены желтым фоном.
Как сменить цвет фона?  Использую шаблон в темных цветах и эти желтые поля никак не вписываются... :(
 !
необходимо будет поправить таблицу стилей. с помощью лисы и FireBug попробуйте вначале
*

OKEAH

  • Осваиваюсь на форуме
  • 48
  • 2 / 0
Перерыл все css
ничего не нашел.
Нашел смену стилей полей прошедших валидацию. Но стиля обязательного поля нет!
*

ELesnikov

  • Захожу иногда
  • 119
  • 8 / 0
Перерыл все css
ничего не нашел.
Нашел смену стилей полей прошедших валидацию. Но стиля обязательного поля нет!

дайте ссылку
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Не нужно перерывать все CSS )
Выделяете спомощью FireBug интересующий элемент (поле формы), и он вам паказывает все css-правила, которые влияют на этот элемент, с указанием файла, где прописано правило и номера строки.
Правила, определяющие фон:
background - собирательное,
background-color

Правила, определяющие рамку:
border -  собирательное
border-color
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

OKEAH

  • Осваиваюсь на форуме
  • 48
  • 2 / 0
Искал и с помощью FireBug.
Вот поле.
Код
<td id="ank_age_container" class="cck_field">
<input id="ank_age" class="inputbox text required required-enabled validate-number"
type "text" value="" size="3" maxlength="3" name "ank_age">

Это все стили которые задействованы.
td.cck_field  {
vertical-align:middle;
}
site.css (строка 15)
td, th {
padding:1px;
}
reset.css (строка 39)
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
margin:0;
padding:0;
}
reset.css (строка 9)
Унаследовано отfieldset.adminform
element.style {
border-style:solid;
}
fieldset {
font-family:Verdana,Geneva,sans-serif;
font-size:12px;
}
reset.css (строка 45)
Унаследовано отbody#page.yoopage
body {
color:#FFFFFF;
font-family:Georgia,"Times New Roman",Times,serif;
font-size:15px;
line-height:16px;

Нету желтого цвета, и вообще ничего по полю нету.
Если прописать его вручную в css
кто посоветует как правильно назвать стили?
*

SinBad

  • Завсегдатай
  • 1879
  • 187 / 0
  • Мнне 40 лет, мне 40 лет, ума так и не нажил!
Цитировать
Нету желтого цвета, и вообще ничего по полю нету.
Если прописать его вручную в css
кто посоветует как правильно назвать стили?
ну если желтый цвет имеется значит где то он прописан.
вам нужно смотреть что то типа в id="ank_age"
и class="inputbox text required required-enabled validate-number
сайт в инетрнете уже или дома?
...Фет для них песни поёт. Фет не прикольный поэт - Фету никто не даёт.
*

OKEAH

  • Осваиваюсь на форуме
  • 48
  • 2 / 0
На локалке пока. И одна из причин этого, желтые поля :)
Можно попробовать с шаблоном rhuk_milkyway (который идет с joomla)
Там та же проблема.
при открытии формы регистрации тоже все обязательные поля желтые.
И все те же классы.
"inputbox text required required-enabled"
*

SinBad

  • Завсегдатай
  • 1879
  • 187 / 0
  • Мнне 40 лет, мне 40 лет, ума так и не нажил!
На локалке пока. И одна из причин этого, желтые поля :)
Можно попробовать с шаблоном rhuk_milkyway (который идет с joomla)
Там та же проблема.
так вам у стандартной регистрации в Joomla что ли нужно сменить поля?
...Фет для них песни поёт. Фет не прикольный поэт - Фету никто не даёт.
*

SinBad

  • Завсегдатай
  • 1879
  • 187 / 0
  • Мнне 40 лет, мне 40 лет, ума так и не нажил!
вообщем ищите в стандартном template.css что типа
.inputbox:hover, .inputbox:focus {
background-attachment:scroll;
background-color:#FFFFCC;
background-image:none;
background-position:0 0;
background-repeat:repeat;

вот он ваш желтый цвет background-color:#FFFFCC;
...Фет для них песни поёт. Фет не прикольный поэт - Фету никто не даёт.
*

OKEAH

  • Осваиваюсь на форуме
  • 48
  • 2 / 0
Спасибо. Думаю для чистой Joomla, должно помочь.
У меня был несколько другой случай. Я установил jseblod к Joomla, и  этот компонент переписал все дефолтные стили форм. Стили он хранит в .ini файлах. Поэтому и споткнулся.
Оказалось можно менять все цвета через админку, параметры стилей в самой форме.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Две формы на одной странице SimpleForm2

Автор Mick_20

Ответов: 0
Просмотров: 2477
Последний ответ 20.02.2023, 05:51:26
от Mick_20
AJAX Web-Factor Form - простая форма обратной связи для Joomla 3+

Автор orsy

Ответов: 75
Просмотров: 21270
Последний ответ 17.07.2021, 10:01:40
от Biss
Форма обратной связи для Joomla 2.5

Автор ForQue

Ответов: 0
Просмотров: 3523
Последний ответ 10.01.2021, 10:57:08
от ForQue
Модуль конструктор формы обратной связи simpleForm2 для Joomla 1.0 / joostina 1.2

Автор vs12345

Ответов: 21
Просмотров: 23476
Последний ответ 25.09.2020, 16:21:22
от svarg
[Fox Contact] висит фидбэк после отправки формы

Автор taxnuke

Ответов: 1
Просмотров: 1637
Последний ответ 06.04.2018, 19:48:45
от Progreccor