OpenCart 🇺🇦

Схема

protected mixed getChild ( string $child, array $args = array() )

Аргументы

Аргумент Возможный тип Описание
$child string
$args = array() array

Описание

Метод позволяет подключить дочерний контроллер и вызвать на нем какой-либо метод, получив сгенерированый результат (т.е. готовое представление со всеми подставленными значениями). Возвращает html-код представления (string), либо void, если указанный контроллер не найден.
Стоит отметить, что в переменную $child следует передавать путь к контроллеру в виде маршрута: 'common/column_left'.
Для детальной информации о маршрутах, прочтите соответствующую статью.

Пример использования:

// пример вызова из любого контроллера
$this->data['column_left'] = $this->getChild('common/column_left');

Исходный код

$action = new Action($child, $args);

if (file_exists($action->getFile())) {
	require_once($action->getFile());

	$class = $action->getClass();

	$controller = new $class($this->registry);

	$controller->{$action->getMethod()}($action->getArgs());

	return $controller->output;
} else {
	trigger_error('Error: Could not load controller ' . $child . '!');
	exit();					
}