/** * @param string $file Absolut path to template file * @param array $params Variables for template */ public function __construct($file, $params) { $prefix = "main-"; $file = basename($file, '.php'); $file = self::$templatesDir . "/%s{$file}.php"; if (is_file(sprintf($file, $prefix))) { $file = sprintf($file, $prefix); } else { $prefix = ""; $file = sprintf($file, $prefix); } parent::__construct($file); $params['site'] = WpLatteSiteEntity::getInstance(); if (file_exists(self::$templatesDir . '/main-layout.php')) { $params['layout'] = 'main-layout.php'; } elseif (file_exists(self::$templatesDir . '/layout.php')) { $params['layout'] = 'layout.php'; } else { $params['layout'] = '@layout.php'; } $params['headerNotCalled'] = did_action('get_header') == 0; $params['footerNotCalled'] = did_action('get_footer') == 0; $params['sidebarNotCalled'] = did_action('get_sidebar') == 0; $this->setParams($params); $this->registerHelperLoader('NTemplateHelpers::loader'); $this->registerHelper("printf", "sprintf"); $this->setCacheStorage(new NPhpFileStorage(realpath(self::$cacheDir))); $this->onPrepareFilters[] = create_function('$template', ' $engine = new NLatteFilter(); WpLatteMacros::install($engine->parser); $template->registerFilter($engine); '); }