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

denism300

  • Захожу иногда
  • 210
  • 5 / 0
Есть функция, описанная в модели публичной части компонента, пытаюсь повесить ее на кнопку в панели управления компонента.
Делаю так:
в /administrator/components/com_component/controllers/objects.php

Код: php
require_once(JPATH_BASE.DS.'components'.DS.'com_component'.DS.'models'.DS.'object.php');
...
public function getFile() {
$file = new ComponentModelObject();
$file -> getFile();
...

и получаю ошибку при нажатии на кнопку
Цитировать
Call to undefined method ComponentModelObject::getFile()

т.е., я так понимаю, что Joomla ищет функцию getFile() не в
/components/com_component/models/object.php
а в
/administrator/components/com_component/models/object.php
и не найдя ее там выдает ошибку.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
ну если классы одинаково называются, то наверное так и будет
что первое подключилось то и будет вызываться
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
все, разобрался.
Код: php
require_once(JPATH_BASE.DS.'components'.DS.'com_component'.DS.'models'.DS.'object.php');
выдавало путь
Цитировать
/administrator/components/com_component/models/object.php
изменил на
Код: php
require_once(JPATH_ROOT.DS.'components'.DS.'com_component'.DS.'models'.DS.'object.php');
и все заработало.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать кликабельным разные части изображения?

Автор dm-krv

Ответов: 17
Просмотров: 2826
Последний ответ 06.04.2018, 20:53:09
от beliyadm
Ошибка "Представление не найдено" в публичной части компонента

Автор denism300

Ответов: 3
Просмотров: 1653
Последний ответ 15.11.2016, 23:37:41
от denism300
Одна функция для изменения состояний нескольких параметров элемента

Автор denism300

Ответов: 7
Просмотров: 1337
Последний ответ 22.10.2016, 16:49:46
от denism300
Как добавить выбор/загрузку файла в свой модуль в админке?

Автор Absalem

Ответов: 7
Просмотров: 2147
Последний ответ 07.09.2016, 22:48:54
от fsv
Не подключается функция из php скрипта

Автор smls

Ответов: 5
Просмотров: 1090
Последний ответ 19.08.2016, 21:55:27
от smls