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

PhocaDownload и имена файлов
« : 23.04.2010, 09:07:15 »
Проблема при отображении содержимого категории. В ней имена файлов пишутся как есть в оригинале а в оригинале я их на латинеце назвал
меня это не устраивает при просмотре раздела где пишутся последние загруженные файлы там имена отражены на русском как надо а при входе в категорию отражаются на латинице как заставить писать эти имена на русском

Re: PhocaDownload и имена файлов
« Ответ #1 : 04.05.2010, 11:04:31 »
что никто не в курсе как отражать псевдоним файла а не его оригинальное название или научить Phoca понимать русские названия файлов ?
*

ua6bne

  • Осваиваюсь на форуме
  • 34
  • 3 / 0
  • быстрее всех
Re: PhocaDownload и имена файлов
« Ответ #2 : 17.06.2010, 11:29:11 »
PhocaDownload позволяет отображать на фронтенде сайта только три варианта заголовка, это:
1. Имя файла
2. Заголовок
3. Имя файла и заголовок
Все это указывается в Параметры PhocaDownload прям в первой строке. У тебя как раз отображается Имя файла, а не заголовок. А заголовок ты должен задать когда закачиваешь сам файл на сервер, там также в первой строке, если ты не указываешь, то Заголовок ставиться автоматически как и имя файла.
У меня PhocaDownload 1.3.5., распознает русский следующим образом. Я на сервер закачиваю файлы с русским именем по отдельности каждый в нужную папку PhocaDownload, не через загрузчик PhocaDownload, а потом в PhocaDownload при добавлении нового файла просто выбираю его и тем самым уже Заголовок ставить не нужно, он автоматически ставиться как и имя файла.
*

hollyangel

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: PhocaDownload и имена файлов
« Ответ #3 : 17.06.2011, 16:02:37 »
Столкнулся с такой проблемой кодировки, что если добавлять файл и указывать расположение файла через кнопку "файл" то отображаются во всплывающем окошке ромбики с вопросиками вместо русских букв, хотя на сервере через ftp буквы отображаются нормально. И также отображаются иероглифы при наведении на кнопку "подробнее". Подскажите кто знает где и какой файл нужно перекодировать в UTF-8 чтобы видел русские буквы.
*

Varlog

  • Новичок
  • 1
  • 0 / 0
Re: PhocaDownload и имена файлов
« Ответ #4 : 04.07.2011, 10:26:49 »
Попробуйте в настройках phoca указывать заголовок и материал при отображении файла. Тогда заголовок вполне нормально отобразится на русском,но файл будет на английском,что в принципе не суть как важно.
*

Restorator

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Re: PhocaDownload и имена файлов
« Ответ #5 : 17.12.2014, 15:01:53 »
Загрузка файлов с кириллическими именами.  Хак!
http://rukodelie-ds.ru/forum/viewtopic.php?f=12&t=616

ищите файл
/libraries/joomla/filesystem/file.php

и заменяете в нем на вот это

public static function makeSafe($file)/** чтобы понимались русские буквы! источник http://rukodelie-ds.ru/forum/viewtopic.php?f=12&t=616 */
   {
     $regex = array('#(\.){2,}#', '#[^A-Za-z0-9а-яА-ЯёЁ\.\_\- ]#u', '#^\.#');
     return preg_replace($regex, '', $file);
   }
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Загрузка файлов с кириллическими именами. как?

Автор fliginskih

Ответов: 50
Просмотров: 38902
Последний ответ 30.11.2020, 12:37:01
от verytolik
Как изменить title материалов PhocaDownload?

Автор philip

Ответов: 2
Просмотров: 2928
Последний ответ 12.10.2020, 21:22:27
от AlexB
PhocaDownload в многоязычном сайте

Автор philip

Ответов: 0
Просмотров: 3304
Последний ответ 22.07.2020, 20:54:12
от philip
Русская локализация PhocaDownload + плагины + модуль (обновляется)

Автор Kostelano

Ответов: 2
Просмотров: 4119
Последний ответ 19.04.2020, 01:20:11
от Kostelano
PhocaDownload latest module

Автор dimon68

Ответов: 3
Просмотров: 5968
Последний ответ 10.09.2019, 11:29:54
от dron