opencart 引入 TWIG 模板引擎

 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,相信会更加的强大。

你可能感兴趣的:(open)