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

dee88

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Здравствуйте уважаемые))) Вопрос у меня такой, Можно ли  добавить новый шрифт в редактор TinyMCE? И если можно как это  осуществить?
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Как добавить новый шрифт в TinyMCE?
« Ответ #1 : 12.03.2012, 14:06:36 »
Здравствуйте. Никак. Вопрос на самом деле распространённый у новичков. Аналогичный на дизайнерских форумах: "как добавить шрифтов в фотошоп". ^-^
Следует понимать, что шрифты установленны в системе, т.е. на каждом отдельно взятом компьютере свой набор шрифтов. Т.е., если вы напишите на своём сайте тексты каким-нить Rodchenko.ttf, то всю эту красоту увидите только вы + какой-то небольшой процент пользователей - счастливых обладателей этого шрифта.
Однако, не всё безнадёжно. На сегодяшний момент две технологии позволяют внядрять свои шрифты на сайт (морально устаревшие PIR, SiFR и т.д. не считаю):
1. http://www.xiper.net/search.html?s=font-face
2/ http://www.xiper.net/collect/html-and-css-tricks/typographics/cufon.html
Удачи.
*

dee88

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Re: Как добавить новый шрифт в TinyMCE?
« Ответ #2 : 12.03.2012, 15:46:49 »
Здравствуйте. Никак. Вопрос на самом деле распространённый у новичков. Аналогичный на дизайнерских форумах: "как добавить шрифтов в фотошоп". ^-^
Следует понимать, что шрифты установленны в системе, т.е. на каждом отдельно взятом компьютере свой набор шрифтов. Т.е., если вы напишите на своём сайте тексты каким-нить Rodchenko.ttf, то всю эту красоту увидите только вы + какой-то небольшой процент пользователей - счастливых обладателей этого шрифта.
Однако, не всё безнадёжно. На сегодяшний момент две технологии позволяют внядрять свои шрифты на сайт (морально устаревшие PIR, SiFR и т.д. не считаю):
1. http://www.xiper.net/search.html?s=font-face
2/ http://www.xiper.net/collect/html-and-css-tricks/typographics/cufon.html
Удачи.


Ну так  то вотошоп и Tiny Вещи абсолютно разные))) И я имел в ввиду добавить шрифт Calibri который прекрасно известен системе Windows ! он будет прекрасно отображаться у всех! Просто остальные шрифты редактора меня не устраивают и приходится менять шрифт непосредственно в HTML исходнике, в ручную ! А это чертовски не удобно! Теперь вам яснее суть моего вопроса)))
« Последнее редактирование: 12.03.2012, 15:49:53 от dee88 »
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Как добавить новый шрифт в TinyMCE?
« Ответ #3 : 12.03.2012, 17:45:35 »
Да ясно как день :) Т.е. вы в здравом уме и трезвой памяти хотите назначать шрифты инлайновскими стилями вместо того, чтобы дописать необходимые правила в CSS и присваивать отличительные классы своим тэгам? Я всё правильно понял? ^-^. К слову, на проектах, которые я сдаю, всегда удаляю ВСЕ кнопки из редактора, которые вводят в заблуждение начинающего пользователя. Оставляю больд, италик, листы, таблицы, картинки, ссылки и тэги (заголовки). Всё! Больше вам не нужно. Если что-то нужно, как считаете, и этого нет в редакторе, значит этого там и не должно быть. Опять же, гарнитура Колибри прекрасна известна только системам Windows Vista, Windows 7 и счастливым обладателям пакета MS Ofiice. Т.е., например пользователи WinXP+OpenOffice сосут не увидят его. Как и пользователи остальных платформ.
*

dee88

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Re: Как добавить новый шрифт в TinyMCE?
« Ответ #4 : 12.03.2012, 22:14:23 »
Да ясно как день :) Т.е. вы в здравом уме и трезвой памяти хотите назначать шрифты инлайновскими стилями вместо того, чтобы дописать необходимые правила в CSS и присваивать отличительные классы своим тэгам? Я всё правильно понял? ^-^. К слову, на проектах, которые я сдаю, всегда удаляю ВСЕ кнопки из редактора, которые вводят в заблуждение начинающего пользователя. Оставляю больд, италик, листы, таблицы, картинки, ссылки и тэги (заголовки). Всё! Больше вам не нужно. Если что-то нужно, как считаете, и этого нет в редакторе, значит этого там и не должно быть. Опять же, гарнитура Колибри прекрасна известна только системам Windows Vista, Windows 7 и счастливым обладателям пакета MS Ofiice. Т.е., например пользователи WinXP+OpenOffice сосут не увидят его. Как и пользователи остальных платформ.

Всё это довольно весело))) Я как раз и есть пользователь WinXP+OpenOffice и всё прекрасно вижу)))
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Как добавить новый шрифт в TinyMCE?
« Ответ #5 : 26.03.2012, 20:04:55 »
Когдато делал плагин для TinyMCE, который добавляет в список фонт-фэйсы, подключенные в editor.css. Ща сижу и думаю. нафиг я этот плагин делал? Ведь действительно в редакторе не должно быть всяких списков шрифтов, цветов, болдов, италиков, подчеркиваний и прочее. Этож нахрен не Word! это редактор HTML. А HTML - это язык разметки, логической разметки а не язык оформления.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

TinyMCE режет ссылку на FB

Автор Alex_gs

Ответов: 0
Просмотров: 2661
Последний ответ 27.09.2023, 10:36:53
от Alex_gs
В редакторе TinyMCE в списке меток (тегов) выдает только 30 меток

Автор illimited

Ответов: 3
Просмотров: 2736
Последний ответ 07.03.2023, 19:33:03
от illimited
Фильтровать текст при вставке из Word в TinyMCE

Автор goga_pgasovav

Ответов: 2
Просмотров: 2614
Последний ответ 21.02.2023, 17:39:32
от goga_pgasovav
TinyMCE в 4-ке, нужна помощь

Автор Шмайсер

Ответов: 0
Просмотров: 2614
Последний ответ 22.07.2022, 14:20:34
от Шмайсер
Не работает TinyMCE

Автор terr

Ответов: 11
Просмотров: 10332
Последний ответ 22.06.2022, 12:01:51
от Holden73