/** * Статическая функция, которая возвращает * экземпляр класса или создает новый при * необходимости * @return Smarty */ public static function getInstance() { if (null === self::$_instance) { self::$_instance = new Smarty(); self::$_instance->template_dir = SMARTY_TEMPLATE_DIR; self::$_instance->compile_dir = SMARTY_COMPILE_DIR; self::$_instance->cache_dir = SMARTY_CACHE_DIR; self::$_instance->config_dir = SMARTY_CONFIG_DIR; } return self::$_instance; }
function generate($content_view, $layout = null, $data = null) { require_once "./inc/smarty/Smarty.class.php"; require_once "./inc/classes/smarty_singleton.class.php"; $smarty = Smarty_Singleton::getInstance(); if (null === $layout) { $layout = 'default_layout.tpl'; } $data['layout'] = $this->load_layout_data($layout); //Загрузка данных для обертки $data['controller_name'] = Route::$controller_name; $data['action_name'] = Route::$action_name; //Пути до шаблона, который будет загружен помимо контента из БД $data['template_path'] = $this->template_path; $data['content_view'] = $content_view; $smarty->assign('data', $data); $smarty->display($this->layout_path . $layout); }