@SergeTkach
OpenCart Forever

Как в 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']);

Какие альтернативы?
  • Вопрос задан
  • 2354 просмотра
Пригласить эксперта
Ответы на вопрос 3
@opencart-russia
Русское сообщество OpenCart
где то....
$this->load->controller('product/my_module', array('category_id' => $category_id));


в контроллере /product/my_module.php
public function index($arg) {
.....
$cat_id = $arg['category_id'];
Ответ написан
@egormmm
Борітеся — поборете!
Вторым параметром в this->load->controller передать массив, где значения ключа станут названиями переменных.
Ответ написан
apeks
@apeks
Очень серьезный человек
А как насчет того, что бы создать библиотеку с нужными методами и вызывать её в нужных местах?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы