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

Pavel_V

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Друзья, столкнулся с такой проблемой: В материалах не отображается border в таблицах. Т.е. я пишу border="1", а отображается как будто border="0". Шаблон Ja Nickel. Причём, если этот материал посмотреть в другом шаблоне, то рамка отображается нормально.

Помогите мне решить эту проблему.

P.S. С меня скромное вознаграждение - 3 вмз.
*

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
ссылку на сайт в студию.
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
*

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
*

Pavel_V

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
ссылку на сайт в студию.

К сожалению - локалхост. Вообще насколько я понимаю эта проблема на всех сайтах с шаблоном Ja Nickel.
*

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
К сожалению - локалхост. Вообще насколько я понимаю эта проблема на всех сайтах с шаблоном Ja Nickel.
у меня с этим шаблоном проблем не было никаких.
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
Друзья, столкнулся с такой проблемой: В материалах не отображается border в таблицах. Т.е. я пишу border="1", а отображается как будто border="0". Шаблон Ja Nickel. Причём, если этот материал посмотреть в другом шаблоне, то рамка отображается нормально.

Помогите мне решить эту проблему.

P.S. С меня скромное вознаграждение - 3 вмз.
попробуйте прописать
Код: css
style="border=1 !important;"
*

Pavel_V

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
у меня с этим шаблоном проблем не было никаких.

Верю. У меня тоже никаких проблем не было до тех пор, пока я не стал добавлять в материалы таблицы. Если он у вас "под рукой" попробуйте создать материал с таблицей такого кода, например:

<table style="width: 400px; border: 1px solid #aaaaaa;" border="1">
<tbody>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
</tbody>
</table>

У меня таблица отображается без рамок, как будто border=0
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
А если так:
Код
<table style="width: 400px; border: 1px solid; color:#aaaaaa;">
<tbody>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
</tbody>
</table>
*

dynamit

  • Завсегдатай
  • 1744
  • 265 / 0
  • Winter Is Coming
дело в том, что если в CSS задан стиль таблицы - в <table> его не поменять, можно <td style="">, но это глупость для всех писать.
ставьте FireBug и ищите в стилях эту таблицу.
ТАМ ГДЕ ТЫ НИЧЕГО НЕ МОЖЕШЬ, ТЫ НЕ ДОЛЖЕН НИЧЕГО ХОТЕТЬ
==========================================================
Сайты на Joomla!. Верстка. Консультации.  ||  Яндекс уже не ищет, он уже продает (с)  ||    Создание шаблона для Joomla 2.5
*

Pavel_V

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
А если так:
Код
<table style="width: 400px; border: 1px solid; color:#aaaaaa;">
<tbody>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
</tbody>
</table>

Появилась рамка вокруг всей таблицы, а внутри пусто.
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
Ну так это потому что вы прописали её вокруг таблицы :)

htmlbook.ru/html/table
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
где делаешь бордер?
img
td
table
где?
смотри в шаблоне то у чего делаешь бордер
там должно стоять или
border:none;
или
border:0;
скорее всего просто в самом шаблоне указано правило что у чего либо бордер отключен
удали
вот и вся проблема
или
"border=1 !important;"
!important-определяет что надо ставить в первую очередь условие
а все остальные нет
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
Ага, и весь шаблон тут же перекрестит мильон линий  ;)

Уж если так надо, то присвоить для table свой класс и для него прописывать свои правила в CSS
« Последнее редактирование: 09.12.2010, 19:00:30 от ankoch »
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
*

Pavel_V

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Ну так это потому что вы прописали её вокруг таблицы :)

htmlbook.ru/html/table

Очень смешно.
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
Очень смешно.
Да вроде бы ничего смешного не написал - это факт
*

Pavel_V

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Да вроде бы ничего смешного не написал - это факт

Может быть, я не увидел, где это написано. Процитируйте оттуда.
*

Pavel_V

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
а если редактором ставишь
то и делай все через него

Когда редактором ставлю, то рамки не отображаются.
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
Может быть, я не увидел, где это написано. Процитируйте оттуда.
А что цитировать? Для table прописан стиль border: 1px. Я же дал ссылку, почитайте что такое table.
*

dynamit

  • Завсегдатай
  • 1744
  • 265 / 0
  • Winter Is Coming
Уж если так надо, то присвоить для table свой класс и для него прописывать свои правила в CSS

блин, написал же уже. Pavel_V, ищите в CSS стили для table и меняйте на что хотите.
ТАМ ГДЕ ТЫ НИЧЕГО НЕ МОЖЕШЬ, ТЫ НЕ ДОЛЖЕН НИЧЕГО ХОТЕТЬ
==========================================================
Сайты на Joomla!. Верстка. Консультации.  ||  Яндекс уже не ищет, он уже продает (с)  ||    Создание шаблона для Joomla 2.5
*

Pavel_V

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
А что цитировать? Для table прописан стиль border: 1px. Я же дал ссылку, почитайте что такое table.

Вы хотите сказать, что если мне нужна таблица с рамкой со внутренними линиями, то я должен прописывать бордер в каждой ячейке? Или что?
*

Pavel_V

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
блин, написал же уже. Pavel_V, ищите в CSS стили для table и меняйте на что хотите.

Спасибо, Кэп (не в обиду). Знать бы ещё где искать и что менять.
*

dynamit

  • Завсегдатай
  • 1744
  • 265 / 0
  • Winter Is Coming
ну слава Богу, а то думал я уже как приведение...   :)

в папке CSS шаблона. смотрите файлы и ищите строки отвечающие за table. и еще раз скажу - FireBug
ТАМ ГДЕ ТЫ НИЧЕГО НЕ МОЖЕШЬ, ТЫ НЕ ДОЛЖЕН НИЧЕГО ХОТЕТЬ
==========================================================
Сайты на Joomla!. Верстка. Консультации.  ||  Яндекс уже не ищет, он уже продает (с)  ||    Создание шаблона для Joomla 2.5
*

Pavel_V

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
ну слава Богу, а то думал я уже как приведение...   :)

в папке CSS шаблона. смотрите файлы и ищите строки отвечающие за table. и еще раз скажу - FireBug

Там их очень-очень много этих тэйблов. FireBug скачал, но пока не понял как он мне может помочь.
*

dynamit

  • Завсегдатай
  • 1744
  • 265 / 0
  • Winter Is Coming
он (firebug) при наведении указателя на элемент сайта показывает примененные к нему стили. и там где они находятся. можно динамически их менять.
ТАМ ГДЕ ТЫ НИЧЕГО НЕ МОЖЕШЬ, ТЫ НЕ ДОЛЖЕН НИЧЕГО ХОТЕТЬ
==========================================================
Сайты на Joomla!. Верстка. Консультации.  ||  Яндекс уже не ищет, он уже продает (с)  ||    Создание шаблона для Joomla 2.5
*

Pavel_V

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
он (firebug) при наведении указателя на элемент сайта показывает примененные к нему стили. и там где они находятся. можно динамически их менять.

Спасибо вам. Отличная программа FireBug и простая в освоении.

P. S. Проблема решается прописыванием "border=1;" в файле addons.css
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Спасибо вам. Отличная программа FireBug и простая в освоении.

P. S. Проблема решается прописыванием "border=1;" в файле addons.css
Ну вот! Много нового узнали ;)
*

Pavel_V

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Ну вот! Много нового узнали ;)

Согласен:)
*

dimochkasainr

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
В очередной раз хочется поблагодарить участников темы. которые навели на файл addons.css. Теперь все работает. Ура!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

шаблон IT Newsy - By IceTheme проблема со списком.

Автор wolf34

Ответов: 4
Просмотров: 6042
Последний ответ 30.05.2017, 11:52:27
от darkghost
Проблема с изменением логотипа штатного шаблона rhuk_milkyway Joomla_1.5

Автор Porohok

Ответов: 6
Просмотров: 4870
Последний ответ 22.03.2017, 10:34:23
от Porohok
Проблема отображения контента при масштабировании окна браузера

Автор Свят

Ответов: 2
Просмотров: 2263
Последний ответ 10.02.2016, 15:14:24
от Свят
Не отображается шаблон в Mozilla Firefox

Автор Sevenor

Ответов: 23
Просмотров: 4303
Последний ответ 10.04.2015, 13:36:30
от annushka
На сайте тольк текст, не отображается шаблон сайта и админки

Автор jso

Ответов: 6
Просмотров: 3778
Последний ответ 14.09.2014, 08:17:08
от draff