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

piraids

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
У меня контроллере есть 2 функции, в одной я получаю массив данных из базы, во второй мне необходимо использовать полученный массив, как это можно реализовать?

пробовал в контроллере в функции 1 полученный массив закидывать в модель:
Код
$results = array(1, 2, 3);
$model = $this->getModel('content_calcs');
if($data_id == 'select_1'){ $model->setState('select1', $results); }

Добавляется, потом могу посмотреть в пределах этой функции что у меня в массиве:
Код
$model->getState('select1');

но в соседней функции я никак это не могу сделать, как быть?
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
А чем плохо создать публичное или защищенное свойство в контроллере и туда сохранять?

А вобще мне думается что вы просто каждый раз новый экземпляр модели получаете с отдельным состянием.Возможно вам нужно сохранить модель через setModel() метод.

Хотя нет, посмотрел, нету вроде такой возможности у контроллера. Каждый раз вы новый экземпляр модели инициализируете вызовом метода getModel(), если только своими методами ее сохранять.
« Последнее редактирование: 26.11.2014, 22:54:20 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

piraids

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
я пробовал в контроллере писать
Код
var $select1 = null;
потом в функции переопределять её
Код
$this->select1 = array(1,2,3);
но все равно, когда мне в другой функции необходимо получить массив из $this->select1, то он пустой
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
все равно, когда мне в другой функции необходимо получить массив из $this->select1, то он пустой

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

Цитировать
var $select1 = null;

так объявляли свойства у классов в прошлом веке))
« Последнее редактирование: 26.11.2014, 23:06:09 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

piraids

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Цитировать
так объявляли свойства у классов в прошлом веке))
та уже как не оъявлял и public'ом и privat'ом :)
*

piraids

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Может можно как то это сделать через JFactory ? только я не знаю как
*

piraids

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
вот если через public определяю - потом в функции не переопределяется почему то.. вернее переопределяется только внутри функции в которой переопределяю) но в соседней функции как было объявлено изначально, так и есть
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Вам же сказали определите в конструкторе, тогда будет доступно в любом методе.
*

piraids

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
на сколько я понял в конструкторе это в моделе в функции: __construct()?
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Так в каком классе нужен в том и определяйте. Если в классе модели значит в модели, если в классе контроллера значит в контроллере, если в классе вида значит в виде. П.ц. похоже разговор ни о чем. http://php.net
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Работа с внешний БД

Автор lostov

Ответов: 1
Просмотров: 613
Последний ответ 12.03.2020, 11:11:34
от robert
Как использовать функции компонента в модуле?

Автор specialist-web

Ответов: 6
Просмотров: 1325
Последний ответ 12.05.2019, 12:26:10
от AlekVolsk
Работа с базой данных

Автор SnowWind

Ответов: 9
Просмотров: 3191
Последний ответ 19.09.2014, 12:18:56
от Stasweb
[Решено] Сохранить файл на удаленном ПК и прочитать 

Автор AlekVolsk

Ответов: 18
Просмотров: 1672
Последний ответ 03.04.2014, 13:55:16
от AlekVolsk
Передать массив данных между двумя представлениями

Автор redline16

Ответов: 1
Просмотров: 1135
Последний ответ 19.09.2013, 15:38:16
от Fedor Vlasenko