Новости Joomla

Вышли релизы Joomla 6.1 и Joomla 5.4.5: новые возможности и стабильность

Релиз Joomla 6.1.0

Проект Joomla! объявил о доступности Joomla 6.1 [Nyota] — новой минорной версии шестой серии, а также о выпуске релиза исправлений ошибок Joomla 5.4.5. Релиз 6.1 приносит ряд долгожданных функций, повышающих удобство управления контентом и защиту от спама.

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

burunduchok

  • Захожу иногда
  • 106
  • 8 / 0
Мистификация с ajax
« : 28.03.2023, 00:51:06 »
Здравствуйте.
Joomla 4.2.9.
Есть 2 плагина с одинаковым названием aaextension (чисто для удобства, чтобы были в листинге ftp первыми) в директориях content и system.
В каждом плагине есть функция:
Код
public function onAjaxAaextension() { /*бла-бла-бла*/ }
Вызываю функцию в плагине из content:
Код
https://DOMAIN/index.php?option=com_ajax&group=content&plugin=aaextension&format=json&task=order&in1=create_sitemap&7c5c01fde211fc8a0ccea5797a9194f8=1
(in1=create_sitemap чисто чтобы в функцию напихать разный функционал)
А отрабатывает функция плагина из system(!)
WTF?
*

sivers

  • Живу я здесь
  • 2610
  • 363 / 0
Re: Мистификация с ajax
« Ответ #1 : 28.03.2023, 08:48:44 »
Параметр group нужен только для импорта плагинов указанной группы. Чтоб система знала о них. Это если вы используете нестандартные группы или пишете консольный скрипт. Вот как это выглядит внутри:
Код
	$group      = $input->get('group', 'ajax');
JPluginHelper::importPlugin($group);

Но группы system и content Joomla импортируются автоматически, поэтому срабатывает первый совпадающий обработчик события. Поменяйте плагины местами (очередность) в списке плагинов, чтоб первым вызывался другой.

group вовсе не заставляет систему брать плагин из какой-то конкретной группы.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

burunduchok

  • Захожу иногда
  • 106
  • 8 / 0
Re: Мистификация с ajax
« Ответ #2 : 28.03.2023, 10:34:46 »
Параметр group нужен только для импорта плагинов указанной группы. Чтоб система знала о них. Это если вы используете нестандартные группы или пишете консольный скрипт. Вот как это выглядит внутри:
Код
	$group      = $input->get('group', 'ajax');
JPluginHelper::importPlugin($group);

Но группы system и content Joomla импортируются автоматически, поэтому срабатывает первый совпадающий обработчик события. Поменяйте плагины местами (очередность) в списке плагинов, чтоб первым вызывался другой.

group вовсе не заставляет систему брать плагин из какой-то конкретной группы.
Вряд ли хорошая идея менять плагины местами если в каждом из них задействована обработка AJAX запросов.
Не вариант и "засовывать" функционал в один плагин.
Остается лишь вариант переименовать свои плагины.
Спасибо за подсказку.
*

sivers

  • Живу я здесь
  • 2610
  • 363 / 0
Re: Мистификация с ajax
« Ответ #3 : 28.03.2023, 10:41:44 »
Остается лишь вариант переименовать свои плагины.
Что так категорично? Добавьте в плагин проверку параметра group (или другого) и пусть сам проверяет - ему ли принадлежит запрос.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка error: ajax Loading error: error

Автор Zegeberg

Ответов: 0
Просмотров: 523
Последний ответ 14.11.2023, 16:32:47
от Zegeberg
ajax в модуле. Too few arguments to function

Автор denism300

Ответов: 3
Просмотров: 1121
Последний ответ 25.12.2022, 00:04:58
от NewUsers