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

  • 相关阅读:
    BufferedOutPutStream 字节缓冲输出流 BufferedIntPutSream 字节缓冲输入流
    Properpies
    jdk9的新特性
    try catch finally处理流的异常
    续写和换行
    write写入
    flush close
    Postman功能详解
    HyLoad压测的使用
    找出Window/Linux下 占用端口的进程
  • 原文地址:https://www.cnblogs.com/caryfang/p/4535695.html
Copyright © 2020-2023  润新知