Новости Joomla

Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0

Метод registerListeners() в CMSPlugin в плагинах  планируется удалить в Joomla 7.0

👩‍💻 Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0.Этот метод регистрирует устаревшие слушатели событий в диспетчере, имитируя работу плагинов Joomla! 3.x и ниже для Joomla 4+. По умолчанию этот метод ищет все общедоступные методы, название которых начинается с on. Он регистрирует лямбда-функции (замыкания), которые пытаются преобразовать аргументы отправленного события в аргументы вызова метода и вызвать ваш метод on<Что-то>. Результат передаётся обратно событию в его аргумент result.Теперь этот слой совместимости с устаревшей Joomla 3 помечен к удалению в Joomla 7.0, которая должна выйти осенью 2027 года. Это означает, что те уникальные расширения от Joomla 2.5 / Joomla 3, которые ещё работали на Joomla 4-6 скорее всего окончательно перестанут работать на Joomla 7. Предполагается, что активные разработчики планомерно и постепенно избавляются от технического долга и обновляют свои расширения. @joomlafeed#joomla #разработка #php

0 Пользователей и 1 Гость просматривают эту тему.
  • 1 Ответов
  • 1207 Просмотров
*

stydent

  • Захожу иногда
  • 150
  • 1 / 0
  • vlad-link.ru
JModuleНelper::getModule
« : 20.04.2016, 23:52:10 »
Понадобилось в коде вывести модуль меню
Код
$rm = JModuleHelper::getModule( 'menu');
$attribs['style'] = 'xhtml';
$params = json_decode($rm->params);
$params->base='111';
$params->startLevel=3;
$rm->params = json_encode($params);
echo JModuleHelper::renderModule( $rm, $attribs );

Все выводится. Но! У меня уже есть один модуль меню, который встроен в шаблон. И в нем тоже изменяются параметры, которые я правлю в коде для другого модуля.
Т.е. в модуле в шаблоне меню должно выводить все уровни.
А то что я в коде вызываю 3 уровень. При использование моего кода, параметры меняются в обоих модулях.
Как это побороть.
« Последнее редактирование: 20.04.2016, 23:56:44 от stydent »
*

stydent

  • Захожу иногда
  • 150
  • 1 / 0
  • vlad-link.ru
Re: JModuleНelper::getModule
« Ответ #1 : 21.04.2016, 00:00:44 »
Выход такой созрел, создать отдельный модуль в новой позиции
Код
jimport( 'joomla.application.module.helper' );
$rm = JModuleHelper::getModules( 'formag');
$attribs['style'] = 'xhtml';
$params = json_decode($rm[0]->params);
$params->base='111';
$params->startLevel=3;
$rm[0]->params = json_encode($params);
//print_r($params);
echo JModuleHelper::renderModule( $rm[0], $attribs );
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться