Новости 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 Ответов
  • 92890 Просмотров
*

companin

  • Новичок
  • 4
  • 0 / 0
Доброго дня!
Перенёс сайт (joomla 3.6.4) на другой хостинг с PHP 5.3. На предыдущем хостинге 5.4. В итоге, сайт не грузится, выходит ошибка: Parse error: syntax error, unexpected '[' in /var/www/111111111/public_html/site.ru/libraries/mavik/thumb/generator.php on line 66. Меняю версию PHP на хостинге на 5.4 все ок. Но при этом, начинают "сыпаться" остальные сайты на хостинге. Их около десятка, поэтому не вариант. Плагин отличный, сносить не хочется. Если уже обсуждалось, ткните пожалуйста, сам не нашёл.

плагин качал отсюда: _https://extensions.joomla.org/extensions/extension/photos-a-images/images/mavik-thumbnails
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
В новой версии это должно быть исправлено. Можете скачать и заменить файлы.
Если вдруг окажется что это не так, замените в проблемной файле конструкцию вида [...] на array(...)
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
*

Pianistka

  • Захожу иногда
  • 54
  • 2 / 0
А вот у меня стоял на joomle 1.5 плагин YOOeffects и все картинки были заточены под увеличение таким образом:
в материале имеются обычные картинки со ссылкой на большую картинку, и вот после нажатия на обычную картинку в работу включался тот плагин...
Сейчас сайт переезжает на Joomla 3.6. После скачивания Вашего плагина и включения его, что нужно ещё изменить в материалах, чтоб картинки красиво открывались? На данный момент они просто открываются в новом окне.
*

mavik

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

Pianistka

  • Захожу иногда
  • 54
  • 2 / 0
А может подскажите где это взять в готовом виде? А то для меня всё это пока что тёмный лес...
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
А может подскажите где это взять в готовом виде? А то для меня всё это пока что тёмный лес...
Только самому писать. Или заказывать.
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
*

vvaassiill

  • Новичок
  • 5
  • 0 / 0
Плагин почему-то обрабатывает, точнее делает его очень маленьким, логотип в шапке шаблона (формат логотипа:PNG). Использую обработку изображений только для классов. Хотя, если выбрано ничего не обрабатывать, все равно логотип уменьшается.  Помогает только отключение плагина.
Как можно это исправить?
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
Плагин почему-то обрабатывает, точнее делает его очень маленьким, логотип в шапке шаблона (формат логотипа:PNG). Использую обработку изображений только для классов. Хотя, если выбрано ничего не обрабатывать, все равно логотип уменьшается.  Помогает только отключение плагина.
Как можно это исправить?

Это уж совсем странно. Изображения шаблона не должны обрабатываться. Видимо он сам вызывает обработку своего содержимого плагинами. Если удастся найти какой контент он при этом указывает плагинам (попробуйте в настройках плагина включить отображение контента) то можно в настройках плагина создать настройку для него. Контент в данном случае, это строка типа com_users.contact, mod_custom и т.п.
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
*

KingSnake

  • Захожу иногда
  • 231
  • 0 / 1
Поставил на чистую Joomla 3.6.4. При включении плагина упала админка, с ошибкой libraries/mavik/thumb/generator.php on line 66. Поменял, как Вы советовали выше, [...] на array(...). Вышла ошибка libraries\mavik\thumb\thumbinfo.php on line 44 А там что нужно менять?
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
Поставил на чистую Joomla 3.6.4. При включении плагина упала админка, с ошибкой libraries/mavik/thumb/generator.php on line 66. Поменял, как Вы советовали выше, [...] на array(...). Вышла ошибка libraries\mavik\thumb\thumbinfo.php on line 44 А там что нужно менять?

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

scont

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Вот и у меня появилась ошибочка: Warning: Division by zero in /var/www/vhosts/........./libraries/mavik/thumb/generator.php on line 394
До этого еще были другие ошибки, обновил до последней версии, ошибок осталось только 5

Спойлер
[свернуть]

Что это может быть?
Версия free...
Joomla 3.4.8
« Последнее редактирование: 28.11.2016, 23:40:43 от scont »
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
Вот и у меня появилась ошибочка: Warning: Division by zero in /var/www/vhosts/........./libraries/mavik/thumb/generator.php on line 394
До этого еще были другие ошибки, обновил до последней версии, ошибок осталось только 5

У вас неправильные ссылки на 5 изображений внизу страницы. Плагин их пропустил, но и браузер не может их понять и тоже пропускает показывая вместо них пустые квадраты.
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
*

scont

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Хмм, спасибо за подсказку - был поздний вечер, не заметил.
Но проблема ошибки деления на ноль осталась.
Подозреваю (хотя может и ошибаюсь) в плагине при создании превьюшек не отрабатывается ситуация, когда встречаются имена файлов одинаковые в 6 символах и отличающиеся в седьмом. Т.е. вида:
1707141.jpg
1707142.jpg
1707143.jpg
......
Как только исключил данные имена файлов - ошибки ушли.

P.S. спасибо за отличный плагин - пользуюсь еще с версии Joomla 1.x
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Водяные знаки появились? Уже 2017 год наступает.)
*

MALECKY

  • Захожу иногда
  • 88
  • 4 / 0
  • олег
добрый день у меня вопрос мне нужно в одной статье отключить плагин я пробовал с помощью тега {mavikthumbnails=off} но не чего не вышло Как это можно сделать?
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
добрый день у меня вопрос мне нужно в одной статье отключить плагин я пробовал с помощью тега {mavikthumbnails=off} но не чего не вышло Как это можно сделать?

Есть два варианта:
1. Для всех изображений статьи указать какой-нибудь класс. В настройках плагина указать, что данный класс не обрабатывать.
2. Создать настройку в контекстных настройках плагина.
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
*

MALECKY

  • Захожу иногда
  • 88
  • 4 / 0
  • олег
Есть два варианта:
1. Для всех изображений статьи указать какой-нибудь класс. В настройках плагина указать, что данный класс не обрабатывать.
2. Создать настройку в контекстных настройках плагина.
Вставить класс у меня не выходит так как настройках графы такой нет
*

mavik

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

MALECKY

  • Захожу иногда
  • 88
  • 4 / 0
  • олег
Какая у вас версия плагина и версия Joomla?
Joomla 1.5.26 а плагин  mavik Thumbnails версия 0.9   Marth 2009
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
Joomla 1.5.26 а плагин  mavik Thumbnails версия 0.9   Marth 2009
В этой ветке обсуждается версия 2.х для Joomla 3.x
В старой версии контекстных настроек (2) не было. Но возможность указать какие изображения обрабатывать а какие нет была.
Попробуйте обновить плагин до версии 1.0.1
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
*

pobo

  • Захожу иногда
  • 65
  • 0 / 0
Доброго дня
Загружаю картинки на сайт массово. В настройках картинки в статье указан размер меньший оригинального.
возможно ли что бы плагин работал с такими изображениями?

Спасибо
*

mavik

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

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

pobo

  • Захожу иногда
  • 65
  • 0 / 0
наполняю магазин на базе JoomShopping. Использую csv import.
загружаю описание товара - HTML код с картинками у которых указан размер - меньше натуральной величины.
Нужно чтоб картинки увеличивались при клике
« Последнее редактирование: 19.01.2017, 18:36:27 от pobo »
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
наполняю магазин на базе JoomShopping. Использую csv import.
загружаю описание товара - HTML код с картинками у которых указан размер - меньше натуральной величины.
Нужно чтоб картинки увеличивались при клике

Включите в настройках JoomShopping обработку описаний товаров плагинами.
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
*

pobo

  • Захожу иногда
  • 65
  • 0 / 0
Включено, не работает
*

mavik

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

Театрал

  • Захожу иногда
  • 232
  • 7 / 0
Доброго часа!

Использую библиотеку в модуле.

Так вот, в самом первом посте и в четвертом есть пример использования библиотеки в шаблоне или своём расширении, там же сказано, что настройки можно или вообще не указывать или указывать только нужные, остальные будут - по умолчанию.

Оказалось, что без настроек можно обойтись только при выключенном контент-плагине, если плагин включен сразу выдает такую ошибку:
Код
Fatal error: Call to a member function setSize() on null in /home/s/sergameula/joomla/public_html/libraries/mavik/thumb/generator.php on line 399

Она проходит, если указать метод ресайза.

Так же, если указать иную папку для хранения изображений, при включенном плагине получается вот такая:
Код
Fatal error: Call to a member function createThumbnail() on null in /home/s/sergameula/joomla/public_html/libraries/mavik/thumb/generator.php on line 212

Она прошла когда указал графическую библиотеку.

В итоге вот так работает и с включенным плагином и с отключенным:
Код
$thumbGenerator = new MavikThumbGenerator(array(
        'thumbDir' => 'cache/mod_news',
        'resizeType' => 'fill',
'graphicLibrary' => 'imagick',
));

Всё здорово, плагин классный, просто интересно - так и должно или я что-то напортачил?
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
Использую библиотеку в модуле.

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

buldygin

  • Новичок
  • 5
  • 0 / 0
Обновился до 3.5.1 Купил mAvik Thumbnails 2 PRO. Установил плагин просит купить его еще разок. При включении его выдает ошибку
Fatal error: Class 'JFolder' not found in /var/www/u6834427/data/www/pva.ru/plugins/content/mavikthumbnails/mavikthumbnails.php on line 273

Откатился на j 2,5
« Последнее редактирование: 07.02.2017, 23:50:52 от buldygin »
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
Обновился до 3.5.1 Купил mAvik Thumbnails 2 PRO. Установил плагин просит купить его еще разок. При включении его выдает ошибку
Fatal error: Class 'JFolder' not found in /var/www/u6834427/data/www/pva.ru/plugins/content/mavikthumbnails/mavikthumbnails.php on line 273

Плагин в принципе не просит его купить. То что в конфигурации написано, что некоторые функции доступны только в версии Про, означает только то, что они работают только в версии Про. Какая у вас версия можно проверить в менеджере расширений.
Класс JFolder - это класс самой Joomla. Его отсутствие означает, что что-то не так с Joomla. Вероятно не хватает файлов.
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор Physicist

Ответов: 261
Просмотров: 156140
Последний ответ 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
Просмотров: 15040
Последний ответ 27.06.2024, 11:15:49
от Леон
Плагин LVSpoiler - спойлеры с динамической загрузкой изображений

Автор Arkadiy

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