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

Maxum

  • Давно я тут
  • 689
  • 32 / 1
Контекстные настройки надо задать иначе.
Плагин, как понимаю, всё равно подгружается на страницу при таких настройках (см. вложения). Загружается CSS и js.

Платная версия плагина может конфликтовать с SIGE из-за использования общего спецтега {gallery}.
У меня бесплатная версия, на всякий случай и в ней отключена обработка галерей :)
*

admirus

  • Захожу иногда
  • 88
  • 0 / 0
Не знаю кому как, установил попробовать все изображения превью сразу переместились и уменьшились. Пришлось все откатывать.
Хотя видно что функционал огромный
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
Не знаю кому как, установил попробовать все изображения превью сразу переместились и уменьшились. Пришлось все откатывать.
Хотя видно что функционал огромный

Можете подробнее объяснить, какая проблема у вас возникла?

Что касается отката, то такой необходимости нет - плагин не изменяет и не перемещает оригинальных изображений и код страниц.
После отключения плагина все останется как было до установки. Разве что системный кеш нужно очистить.
И удалить папку с превьюшками.
« Последнее редактирование: 25.01.2016, 10:58:25 от mavik »
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
*

admirus

  • Захожу иногда
  • 88
  • 0 / 0
Да я не так выразился отключил и все на места.
Проблема скорее в том что не понял его работу,  crazy! ну такой вот.
Как сделать так чтобы не менялись уже изображения привью которые были. Я их добавляю просто как картинки до разделения далее. Тоесть получается они уже в статье.
Они стоят по центру в определенном размере. Как включил плагин они сразу переместились влево и все а не по центру.

Вот какие настройки к примеру нужно сделать, чтобы в статье картинки были 600 на 400 и располагались по центру?
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
Как сделать так чтобы не менялись уже изображения привью которые были. Я их добавляю просто как картинки до разделения далее.

Если хотите, чтобы плагин не обрабатывал изображения можно:
  • Не изменять размер вставленных изображений.
  • Назначить им класс и в настройках плагина указать, чтобы их пропускал.
  • Воспользоваться контекстной настройкой - может быть сложным, но это самый гибкий метод. Можно указать настройки для определенной ситуации. В том числе для context (context - это Статья, Блог категории и т.д.). Чтобы увидеть как называется context в вашем случае, временно включите его отображения в настройках - она появится в начале текста жирным шрифтом в квадратных скобках

Вот какие настройки к примеру нужно сделать, чтобы в статье картинки были 600 на 400 и располагались по центру?

Если хотите, чтобы у изображений всегда был указаный размер - задайте размеры по умолчанию с опцией "для всех".
Что касается выравнивания изображения, то плагин добавляет некоторое количество html-кода, без этого никак, и поэтому выравнивание может сбиваться. Исправлять надо в каждом конкретном случае индивидуально в стилях шаблона сайта.
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
*

GeoD

  • Осваиваюсь на форуме
  • 36
  • 0 / 0
mavlk,
Выяснил экспериментально, что этот ваш плагин, которым я давно и успешно пользовался, несовместим со всеми плагинами от NoNumber. В том числе Modals, который тоже может давать полную картинку.
Что можете посоветовать для обеспечения совместимости скриптов?
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
Выяснил экспериментально, что этот ваш плагин, которым я давно и успешно пользовался, несовместим со всеми плагинами от NoNumber. В том числе Modals, который тоже может давать полную картинку.
Что можете посоветовать для обеспечения совместимости скриптов?

Подозреваю, что несовместимость у вас на уровне JavaScript.
В плагине можно отключить подключения скриптов.
В таком случае скрипты надо подгрузить каким-нибудь другим способом - в другом расширении либо в шаблоне.
Как отключаются скрипты в NoNumber я не знаю.
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
*

GeoD

  • Осваиваюсь на форуме
  • 36
  • 0 / 0
Подозреваю, что несовместимость у вас на уровне JavaScript.
Да, так и есть.
Разобрался. Несовместимо, если выбрать тип всплывающего окна Slimbox2 (стояло у меня до сегодняшнего дня) или Magnific popup.
И совместимо, если выбрать Highslide или Slimbox (Mootools).
Выбрал из второго списка и все в порядке. Спасибо. :D  *DRINK*
« Последнее редактирование: 28.01.2016, 16:50:09 от GeoD »
*

MariannaFrance

  • Осваиваюсь на форуме
  • 30
  • 4 / 0
Установила плагин mavik с оф.сайта и пошел конфликт с модулем minifrontpage. Рядом с изображениями последних статей появляется круглишок. Кто знает, что это за пузырик?)) Demo.  yes!
« Последнее редактирование: 30.01.2016, 19:39:05 от MariannaFrance »
*

MariannaFrance

  • Осваиваюсь на форуме
  • 30
  • 4 / 0
Установила плагин mavik с оф.сайта и пошел конфликт с модулем minifrontpage. Рядом с изображениями последних статей появляется круглишок. Кто знает, что это за пузырик?)) Demo.  yes!
Пришлось установить пока плагин SmartResizer.  8) Порадовало то, что он пролистывает все изображения, а не останавливается на первом, можно настроить размер для всех статей из блога (категории) и не надо напрягаться и думать, как обрезать все изображения статей сразу.
Не конфликтует (ни с чем). Идет сразу без лишних надписей (название изображения). Мне пока нравится.
Предыдущий вопрос тоже актуален.
« Последнее редактирование: 30.01.2016, 19:46:31 от MariannaFrance »
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
а "круглешка" уже на сайте нету?
хотел посмотреть, можете вернуть мавика?
или его просто включите параллельно и дайте ссылку на страницу с вашим пузырьком) ::)
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
Если бы дали ссылку на станицу с проблемой, мог бы подсказать в чем дело. По скрину похоже, что со стилями.
Что касается настроек, то в плагине есть и размеры превьюшек по умолчанию, и возможность разных настроек для разных разделов, компонентов, модулей и т.д.
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
там есть ссылка http://inetrix.ru
только пузырьков не нашёл, т.к. убрали плагин (или отключили)
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

MariannaFrance

  • Осваиваюсь на форуме
  • 30
  • 4 / 0
там есть ссылка http://inetrix.ru
только пузырьков не нашёл, т.к. убрали плагин (или отключили)
Я поставила mavik опять (Вы просто попали на период экспериментов на сайте=))). После установки нового плагина (SmartResizer) отказался работать плагин Autoreadmore.
Все еще стоят какие-то круглешки в правой колонке сайта, в разделе "Новые публикации". Сайт.  :o
« Последнее редактирование: 31.01.2016, 18:41:48 от MariannaFrance »
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
Все еще стоят какие-то кругляшки в правой колонке сайта, в разделе "Новые публикации". Сайт.  :o

Из того, что вижу, вам надо отключить плагин для этого модуля.
Самым правильным путем будет такой:
1. В настройках в закладке "Контекст" включить опцию " Отображать контекст"
2. Обновить в браузере главную страницу и скопировать из модуля появившийся там контекст (жирный текс в квадратных скобках).
3. Дальнейшие шаги имею смысл только если этот текст специфичен для данного модуля.
4. В настройках в закладке "Контекст" нажать кнопку "Настроить". В появившемся окне нажать зеленый "+". В поле название ввести любой текст по своему усмотрению. В части "Условия" надо чтобы было "Контекст" in <Вставить скопированный ранее текст без квадратных скобок>. В части "Настройки" - "Плагин: Обрабатывать: ничего". Нажать синюю кнопку "Сохранить".
5. Выключить опцию " Отображать контекст". Нажать зеленую кнопку со "Сохранить".

После этого плагин должен пропускать изображения в этом модуле.
Если у модуля нет специфического контекста, можете отключить обработку для изображений с классом "mfp-img-left" (такой класс есть у изображений в этом модуле).
« Последнее редактирование: 30.01.2016, 21:36:59 от mavik »
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
а я бы сразу "вырезал": люблю я хирургически там полазить:

 ;D незнаю, как у вас класс thumbnail zoomin влияет, но добавьте ему тут 3-ю строку(первые две у вас в коде):
    margin: 10px;
    float: left;
    display: none;
 ^-^
и бульбашка пропадёт)))

функционал также работает дальше вроде.
///
<a href="/images/statyi/s1.png" class="thumbnail zoomin" style="margin: 10px; float: left;" rel="lightbox-56ad01c0bf827" title="s1"></a>

вот откуда вы этот стиль напрямую врезаете для класса? вот ему дисплей:ноне.
« Последнее редактирование: 30.01.2016, 21:35:49 от vipiusss »
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
Первый раз сообщение ушло недописанным - перечитайте его еще раз.
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
*

MariannaFrance

  • Осваиваюсь на форуме
  • 30
  • 4 / 0
а я бы сразу "вырезал": люблю я хирургически там полазить:

 ;D незнаю, как у вас класс thumbnail zoomin влияет, но добавьте ему тут 3-ю строку(первые две у вас в коде):
    margin: 10px;
    float: left;
    display: none;
 ^-^
и бульбашка пропадёт)))

функционал также работает дальше вроде.
///
<a href="/images/statyi/s1.png" class="thumbnail zoomin" style="margin: 10px; float: left;" rel="lightbox-56ad01c0bf827" title="s1"></a>

вот откуда вы этот стиль напрямую врезаете для класса? вот ему дисплей:ноне.
Так уже делала. Тогда полностью пропадают все изображения в материалах. Но спасибо за совет!))
*

MariannaFrance

  • Осваиваюсь на форуме
  • 30
  • 4 / 0
Из того, что вижу, вам надо отключить плагин для этого модуля.
Самым правильным путем будет такой:
1. В настройках в закладке "Контекст" включить опцию " Отображать контекст"
2. Обновить в браузере главную страницу и скопировать из модуля появившийся там контекст (жирный текс в квадратных скобках).
3. Дальнейшие шаги имею смысл только если этот текст специфичен для данного модуля.
4. В настройках в закладке "Контекст" нажать кнопку "Настроить". В появившемся окне нажать зеленый "+". В поле название ввести любой текст по своему усмотрению. В части "Условия" надо чтобы было "Контекст" in <Вставить скопированный ранее текст без квадратных скобок>. В части "Настройки" - "Плагин: Обрабатывать: ничего". Нажать синюю кнопку "Сохранить".
5. Выключить опцию " Отображать контекст". Нажать зеленую кнопку со "Сохранить".

После этого плагин должен пропускать изображения в этом модуле.
Если у модуля нет специфического контекста, можете отключить обработку для изображений с классом "mfp-img-left" (такой класс есть у изображений в этом модуле).
Спасибо Вам за подробный ответ, но есть НО
Уже на 4 пункте не открывается окно "Настройки". Плагин вылетает в главное меню. Лишних всплывающих окон нет. В чем может быть дело? Или так и должно быть, а я чего-то не понимаю?  :(
В "Опциях" исключала классы, в том числе и mfp-img-left. В итоге, плагин вообще отказывался работать (он просто как будто выключался).
« Последнее редактирование: 30.01.2016, 22:34:03 от MariannaFrance »
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
Спасибо Вам за подробный ответ, но есть НО
Уже на 4 пункте не открывается окно "Настройки". Плагин вылетает в главное меню. Лишних всплывающих окон нет. В чем может быть дело? Или так и должно быть, а я чего-то не понимаю?  :(
В "Опциях" исключала классы, в том числе и mfp-img-left. В итоге, плагин вообще отказывался работать (он просто как будто выключался).

Вы, случайно, не используете каких-то плагинов или модулей для админки? Похоже, что у вас конфликты JavaScript в админ.части.
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Прошло 7 лет с создания плагина, а водяного знака до сих пор нет. Когда нибудь будет?
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
Прошло 7 лет с создания плагина, а водяного знака до сих пор нет. Когда нибудь будет?

Все это время висит в списке ближайших планов, но постоянно появляются задачи с более высоким приоритетом.  Надеюсь таки найду время на реализацию.

Кстати, в ближайшее время выйдет версия с поддержкой ImageMagick и GraphicsMagick. Благодаря этому можно будет генерировать превьюшки лучшего качества. И вот после этого самое время для водяных знаков.

Еще запланированы индивидуальные настройки для каждого типа всплывающего окна.
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
*

pikachu

  • Осваиваюсь на форуме
  • 46
  • 7 / 0
В последнем архиве, размещенным на Joomla extensions небольшой баг.

в .xml в архиве с библиотеками указано:
Код
    <files>
    <file>index.html</file>
        <file>mavik_thumb.xml</file>
        <file>generator.php</file>
        <file>info.php</file>
        <folder>resizetype</folder>
    </files>

Отсутствует еще одна папка из архива - graphiclibrary для копирования, отчего у пользователей возникнет php-шный fatal error.
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
В последнем архиве, размещенным на Joomla extensions небольшой баг.

в .xml в архиве с библиотеками указано:
Код
    <files>
    <file>index.html</file>
        <file>mavik_thumb.xml</file>
        <file>generator.php</file>
        <file>info.php</file>
        <folder>resizetype</folder>
    </files>

Отсутствует еще одна папка из архива - graphiclibrary для копирования, отчего у пользователей возникнет php-шный fatal error.


Спасибо большое, исправил.
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
Вышла версия 2.2.1
Теперь плагин (и входящая в состав библиотека) поддерживает создание превьюшек с использованием всех доступных в PHP графических библиотек: GraphicsMagick, ImageMagick i gd2 (указаны в том порядке, в котором я бы рекомендовал их использовать).

Внимание:
1. Чтобы увидеть превью сгенерированные новой библиотекой, старые превью нужно удалить вручную.
2. В случае экспериментов на локальном сервере учтите, что библиотеки GraphicsMagick и ImageMagick несовместимы между собой. Во время использования одной из них, вторую необходимо отключить в php.ini.

www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
Очередное обновление - версия 2.2.2
Добавлена возможность включать/выключать контекстно-зависимую обработку (ссылка на полный текст статьи в блоге и т.п.) в заданных условиях (условия можно задать в Контекст/Настройка).
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
*

Old Daemon

  • Захожу иногда
  • 119
  • 4 / 0
Надеюсь таки найду время на реализацию.
Кстати, в ближайшее время выйдет версия с поддержкой ImageMagick и GraphicsMagick. Благодаря этому можно будет генерировать превьюшки лучшего качества. И вот после этого самое время для водяных знаков.
Час икс настал ! :))
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Все это время висит в списке ближайших планов, но постоянно появляются задачи с более высоким приоритетом.  Надеюсь таки найду время на реализацию.
Скорее бы уже. Все эти красивости не так уж и важны, как наличие водяного знака.
А скрипты любые можно подключать и так, благо плагин все это позволяет с первой версии.)
Но водяной знак очень нужен. Гораздо более нужен, нежели превью более лучшего качества. Превью лучшего качества будет весить больше и времени на обработку потребует больше.))
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
Превью лучшего качества будет весить больше и времени на обработку потребует больше.))

Весить больше не будет, ресурсов и времени на создание потребляет даже меньше.
Превью лучшего качества за счет использования других инструментов для его создания.
Водяные знаки действительно подошлки к списку приоритетных задач.

Далее в планах есть довольно интересные задумки (но раскрывать их пока не буду).
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
*

Mailady

  • Новичок
  • 1
  • 0 / 0
Добрый вечер! Можно ли подключить данный плагин в компонент Joomla? дело в том что у нас стоит компонент JoomShopping и в описании категорий данного компонента необходимо резать и увеличивать картинки. так как на всем сайте картинки обрабатываются данным плагином, то хотелось бы сохранить обработку везде!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин "Русская типографика"

Автор Physicist

Ответов: 261
Просмотров: 156135
Последний ответ 13.03.2025, 20:06:50
от Olg
Owl Сarousel Images module for Joomla

Автор Muggs

Ответов: 0
Просмотров: 1290
Последний ответ 30.08.2024, 17:34:06
от Muggs
Мастерю плагин для админки - оплата налом или по карте при самовывозе

Автор kkmspb

Ответов: 0
Просмотров: 1279
Последний ответ 27.08.2024, 15:39:37
от kkmspb
News Calendar Joomla 3.0 - html5 - Rus

Автор leo78

Ответов: 27
Просмотров: 15039
Последний ответ 27.06.2024, 11:15:49
от Леон
Плагин LVSpoiler - спойлеры с динамической загрузкой изображений

Автор Arkadiy

Ответов: 449
Просмотров: 101883
Последний ответ 20.04.2024, 21:10:33
от Beer