Код: Выделить всё
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
{
[...]
$this->initSmarty();
}
private function initSmarty() {
$configDirs = \Config\SmartyConfig::$configDirs;
$this->smarty = new Smarty();
$this->smarty->setTemplateDir($configDirs['templateDir']);
$this->smarty->setCompileDir($configDirs['compileDir']);
$this->smarty->setCacheDir($configDirs['cacheDir']);
$this->smarty->setConfigDir($configDirs['configDir']);
}
protected function smartyView($view, array $data = [],$display=true) {
$this->smarty->assign($data);
$tpl = $this->smarty->getTemplateDir(0) . $view . '.' . \Config\SmartyConfig::$fileExtension;
if ($display) $this->smarty->display($tpl);
else return $this->smarty->fetch($tpl);
}
Единственная ошибка, которую я получаю, — это вызов функции-члена Assign() для нулевого BaseController.php — поэтому $this->smarty имеет значение NULL — и я понятия не имею, почему.
Подробнее здесь: https://stackoverflow.com/questions/791 ... eigniter-4
Мобильная версия