Joomla! магия. Объясните, что происходит с данными из формы?

148
17 апреля 2018, 03:00

Создаю компонент. И два дня потратил на решение одной единственной проблемы. Неработоспособность в админке кнопок в тулбаре, хоть и делаю все по документации. Оказалось ошибка в самом корне в точке входа в мой компонент. В этом коде проблема:

<?php defined('_JEXEC') or die;
$input      = JFactory::getApplication()->input;
$task       = $input->get('task', 'display');
$controller = JControllerLegacy::getInstance('SomeComp');
$controller->execute($task);
$controller->redirect();

На первый взгляд всё нормально. Но именно из-за этой проблемы не работает тулбар. Решение было не очевидным, ДАЛЕКО не очевидным:

<?php defined('_JEXEC') or die;
$input      = JFactory::getApplication()->input;
$controller = JControllerLegacy::getInstance('SomeComp');
$task       = $input->get('task', 'display');
$controller->execute($task);
$controller->redirect();

Найдите одно отличие. Так собственно меня мучает вопрос, почему так? JControllerLegacy модифицирует входные данные? Это испытание от разработчиков Joomla? Зачем это? Есть ли польза или какое-то применение этому?

READ ALSO
Передать правильный массив через soap на php

Передать правильный массив через soap на php

Нужно получать данные через soapЯ вызываю метод из документации, передаю все параметры как описано

225
Почему не работает debug.log?

Почему не работает debug.log?

Задаю в wp-configphp отладочные параметры согласно инструкции в Codex:

210
Как передать много параметров в функцию, если они элементы массива?

Как передать много параметров в функцию, если они элементы массива?

Например, функция array_diff() принимает сколько угодно аргументов

138
yii2 как передать параметр моделе

yii2 как передать параметр моделе

Всем приветВозникла проблема

155