zoukankan      html  css  js  c++  java
  • opencart 引入 TWIG 模板引擎

     1.首先将 twig 包放入 systemlibrary 目录。


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

  • 相关阅读:
    App测试总脚本1.30.py
    adb安装中的platform-tools文件的生成问题
    App测试总脚本1.20
    App测试总脚本1.10(使用了列表推导式)
    APP网络测试要点和弱网模拟
    算法1—冒泡排序
    三次握手和四次挥手
    测试基础总结
    四道题设计用例
    使用复杂条件下的if选择结构
  • 原文地址:https://www.cnblogs.com/caryfang/p/4535695.html
Copyright © 2011-2022 走看看