Как в OpenCart 2 в контроллере подключить подконтроллер с передачей ему данных?
В OC есть следующие возможности включения подконтролера:
$data['header'] = $this->load->controller('common/header');
$this->getChildController('checkout/simplecheckout_customer/update_session');
В обоих случаях идет загрузка контроллера или одного из методов контроллера без передачи данных.
Как сделать так, чтобы в подконтроллер можно было передать какие-то данные?
Все что приходит в голову мне, это использование глобальных переменных.
$GLOBALS['var'] = 'test_var';
$this->load->controller('extension/module/mod/fucntion');
unset($GLOBALS['var']);
Тоже думаю над этим вопросом. По идее должна быть возможность наследования или композиции правда по композиции в PHP я пока не успел почитать так что, временно, подключаю модель с нужными методами
вот сигнатура метода в классе Loader:
public function controller($route, $data = array())
что означает, что 2-ым параметром можно передать данные. Это должен быть массив.