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

partizzzzzan

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
установил Simple Image Gallery 2.1 для J!1.6.
Создал файлы русификации. На денвере русский язык видится, перенес на хостинг выводятся только языковые переменные.
Какая может быть причина? Я уже и с кэшем заморачивался и темпы чистил - все по нулям. Может проблема с настройками хостинга?

РЕШЕНО!

Полазил на зарубежных форумах, в том числе на форуме разработчика этого плагина joomlaworks.gr
Оказалось, что это проблема не только у меня и не только с русским языком. Разработчики в форуме ссылались на то что нужно купить PRO версию и будет всем счастье, все комментарии по поводу языковых глюков были игнорированны.

Но все равно, благодаря энтузиастам решение было найдено:
============================================================================
открываем файл: [JOOMLA DIR]\plugins\content\jw_simpleImageGallery\tmpl\Polaroids\default.php

ищем в начале файла
Код
defined('_JEXEC') or die('Restricted access');

и сразу после этой строки вставляем
Код
$lang =& JFactory::getLanguage();
$lang->load('plg_content_jw_simpleImageGallery', JPATH_ADMINISTRATOR);
============================================================================
после этого все начинает корректно работать и на денвере и на хостинге.
« Последнее редактирование: 06.04.2011, 12:16:30 от partizzzzzan »
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: плагин не видит языковых файлов
« Ответ #1 : 05.04.2011, 15:48:10 »
видимо забыли указать в установочном файле локализацию. Проверьте наличие файла локализации в соответствующей директории на хостинге.
Так же есть еще один момент, если файлы копировались просто через ftp. Некоторые ftp менеджеры любят, по умолчанию, переводить  название файлов в нижний регистр, что в данном случае не приемлемо.
*

partizzzzzan

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Re: плагин не видит языковых файлов
« Ответ #2 : 05.04.2011, 15:56:32 »
видимо забыли указать в установочном файле локализацию. Проверьте наличие файла локализации в соответствующей директории на хостинге.
Так же есть еще один момент, если файлы копировались просто через ftp. Некоторые ftp менеджеры любят, по умолчанию, переводить  название файлов в нижний регистр, что в данном случае не приемлемо.

Да нет, все заказчалось нормально, в установочном файле все прописано.
*

dynamit

  • Завсегдатай
  • 1744
  • 265 / 0
  • Winter Is Coming
Re: плагин не видит языковых файлов
« Ответ #3 : 05.04.2011, 16:12:24 »
возможны косяки при переводе. например, забыли где-то кавычки ("), есть еще тонкости. ini под 1.6 делали? они различны с 1.5
ТАМ ГДЕ ТЫ НИЧЕГО НЕ МОЖЕШЬ, ТЫ НЕ ДОЛЖЕН НИЧЕГО ХОТЕТЬ
==========================================================
Сайты на Joomla!. Верстка. Консультации.  ||  Яндекс уже не ищет, он уже продает (с)  ||    Создание шаблона для Joomla 2.5
*

partizzzzzan

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Re: плагин не видит языковых файлов
« Ответ #4 : 05.04.2011, 16:30:55 »
возможны косяки при переводе. например, забыли где-то кавычки ("), есть еще тонкости. ini под 1.6 делали? они различны с 1.5

там плагин уже под 1.6 написан был, так что переделки с 1.5 не было. тем более что на денвере все работает без косяков
*

dynamit

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

partizzzzzan

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Re: плагин не видит языковых файлов
« Ответ #6 : 05.04.2011, 16:58:55 »
а, это как тогда понимать?

да плагин был без русификации, я просто переименовал en-GB.plg_content_jw_simpleImageGallery.ini  в
ru-RU.plg_content_jw_simpleImageGallery.ini  и в этом файле произвел русификацию, добавил этот файл в jw_simpleImageGallery.xml
На денвере сразу все заработало, перенес на хостинг и начались косяки
*

dynamit

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

partizzzzzan

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Re: плагин не видит языковых файлов
« Ответ #8 : 05.04.2011, 21:08:14 »
просто только, что занимался тем же самым. на денвер, правда, не ставил - сразу кидал на сервер. было такое, после правки все стало на место. и, кстати, кодировка файла utf?

utf8 без BOM

А вы как проблему решили? что правили?
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Re: плагин не видит языковых файлов
« Ответ #9 : 05.04.2011, 21:10:39 »
Проверь права на каталоги и файлы локализации
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

dynamit

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

partizzzzzan

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Re: плагин не видит языковых файлов
« Ответ #11 : 06.04.2011, 10:30:02 »
РЕШЕНО!

Полазил на зарубежных форумах, в том числе на форуме разработчика этого плагина joomlaworks.gr
Оказалось, что это проблема не только у меня и не только с русским языком. Разработчики в форуме ссылались на то что нужно купить PRO версию и будет всем счастье, все комментарии по поводу языковых глюков были игнорированны.

Но все равно, благодаря энтузиастам решение было найдено:
============================================================================
открываем файл: [JOOMLA DIR]\plugins\content\jw_simpleImageGallery\tmpl\Polaroids\default.php

ищем в начале файла
Код
defined('_JEXEC') or die('Restricted access');

и сразу после этой строки вставляем
Код
$lang =& JFactory::getLanguage();
$lang->load('plg_content_jw_simpleImageGallery', JPATH_ADMINISTRATOR);
============================================================================
после этого все начинает корректно работать и на денвере и на хостинге.
*

fathernet

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
если я добавляю эту строчку то страница перестает открываться. а сей трабл исключительно на хостинге. то есть локально настроенный сайт был перенесен на хостинг и начались проблемы с галлереей(((

PS нашел тут http://wmdn.ru/joomla/how-to-add-language-file-to-joomla-extension/

то что необходимо

$lang = & JFactory::getLanguage();
$lang->load('plg_content_jw_simpleImageGallery', JPATH_ADMINISTRATOR);

и вот тогда все работает!)))
« Последнее редактирование: 07.04.2011, 07:48:31 от fathernet »
*

gdrg

  • Захожу иногда
  • 80
  • 5 / 0
А кто нибудь решал проблему со всплывающими подсказками в popup галереях? Довольно таки накладная русификация получается.

Копаю JS файлы того или иного POPUP'а и там вот такая вот фигня:
Код
|||match|controls|назад|next|to| и тд...

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

Может быть кто знает как отключить вообще эти всплывающие подсказки. Уже всё перерыл но так и не удалось их отрубить. Берутся они из "Title".
*

fierija

  • Захожу иногда
  • 85
  • 1 / 0
Кто-нибудь пытался перевести плагин 2.5 версии под Joomla 1.7??

Все использованные способы на сайте опробовала и все равно не получается.

В какой кодировке должен быть файл русского перевода? Может тут что-то намудрила.
*

dynamit

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

fierija

  • Захожу иногда
  • 85
  • 1 / 0
у меня правильная кодировка, но все равно не читает файлы русского языка
*

Alexdoc76

  • Осваиваюсь на форуме
  • 45
  • 1 / 0
у меня правильная кодировка, но все равно не читает файлы русского языка

попробуйте назвать файл ru-RU.plg_content_jw_sigpro.ini и положить в administrator/language/ru-RU/
*

fierija

  • Захожу иногда
  • 85
  • 1 / 0
именно так его и называла, в эту папку загружала.
Временно решила проблему так - перевела файл en_EN и поменяла его кодировку на utf8 (оставила в той же папке). Работает хорошо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Simple Image Gallery Pro - фото с именем на кирилице, после сохранения исчезают

Автор Леон

Ответов: 0
Просмотров: 3725
Последний ответ 09.06.2021, 16:02:09
от Леон
Русская локализация Simple Image Gallery и SIG Pro (обновляется)

Автор Kostelano

Ответов: 1
Просмотров: 3909
Последний ответ 29.01.2020, 01:41:26
от Kostelano
Умный поиск и Simple Image Gallery Pro

Автор michaellux

Ответов: 1
Просмотров: 3197
Последний ответ 24.04.2019, 10:45:00
от Technic
Simple Image Gallery и пагинация

Автор tortxp

Ответов: 0
Просмотров: 3296
Последний ответ 10.01.2019, 23:21:18
от tortxp
Как вывести Simple Image Gallery не в тексте, а в отдельном Div?

Автор artemka

Ответов: 8
Просмотров: 5358
Последний ответ 18.09.2018, 11:34:31
от Sergeyy