У меня есть компонент с контроллером MyproductControllerGeneralsetting
, который расширяет JControllerForm
. Внутри MyproductControllerGeneralsetting
я перезаписываю метод save
из родительского класса, чтобы изменить $_POST
данные, а затем метод перезаписи вызывает метод save
родительского класса для фактического сохранения.
Вот перезаписанный метод в MyproductControllerGeneralsetting
:
/**
* We overwrite the saved form data and trim them to avoid spaces
*/
public function save($key = null, $urlVar = null){
if($_POST['jform']){
foreach($_POST['jform'] as $key=>&$value){
$value = trim($value);
}
}
// Finally, save the processed form data (calls JControllerForm-save())
parent::save('id', $urlVar);
}
Дело в том, что, несмотря на то, что я обрезал каждое поле данных POST в этом методе перезаписи, если у меня есть отправленные значения, такие как «значение» (обратите внимание на пробел в конце), они не обрезаются.
Я проверил метод save
класса JControllerForm
, и, похоже, он получает данные из POST здесь:
$data = $this->input->post->get('jform', array(), 'array');
Может в этом причина? Это получение кэшированных данных или что-то в этом роде?