1.首先将 twig 包放入 system\library 目录。
2.在 system/startup.php 文件最后添加引入语句。
require_once(DIR_SYSTEM . 'library/Twig-1.12.3/lib/Twig/Autoloader.php');
3.在 index.php 文件中,加入twig引擎初始化语句。
//twig Twig_Autoloader::register(); $twigLoader = new Twig_Loader_Filesystem(DIR_TEMPLATE); $twig = new Twig_Environment($twigLoader, array( 'cache' => DIR_CACHE, )); $registry->set('twig', $twig);
4.修改opencart框架控制层引擎类,添加 twigRender 渲染方法。(关键一步,此方法会保留原始的模板渲染方法,保证兼容性。)
protected function twigRender() { foreach ($this->children as $child) { $this->data[basename($child)] = $this->getChild($child); } if (file_exists(DIR_TEMPLATE . $this->template)) { $this->output = $this->twig->render($this->template, $this->data); return $this->output; } else { trigger_error('Error: Could not load template ' . DIR_TEMPLATE . $this->template . '!'); exit(); } }
5.在控制层,调用新的渲染方法。
$this->response->setOutput($this->twigRender());
6.测试首页模板文件。
{{ header|raw }}{{ column_left|raw }}{{ column_right|raw }} <div id="content">{{ content_top|raw }} <h1 >{{ heading_title }}</h1> {{ content_bottom|raw }}</div> {{ footer|raw }}
7.加入twig模板引擎之后的OP,相信会更加的强大。