在Codeigniter项目中使用Twig


using twig in codeigniter project

我有一个项目,我使用codeigniter设置并使用作曲家安装twig。 我是编码点火器和作曲家的新手,不确定该怎么做才能在我的视图中开始使用 twig。 我在视图文件夹中创建了一个名为 resources/master.html 的文件和一个名为 index.html 的文件。

在索引中.html我刚刚把

{% extends "resources/master.html" %}

它只是在页面上呈现为文本,似乎好像没有加载 Twig。 我需要做什么才能让树枝来解释页面?

我不确定如何合并作曲家和代码点火器。 我怀疑您可能需要查找/编写一个自动加载树枝的包。

我安装了一个特定于Codeigniter的包管理器,火花,并用它来通过一个名为twiggy的包装包安装/集成Twig。你cd到Codeigniter项目的根目录。安装火花:

$ php -r "$(curl -fsSL http://getsparks.org/go-sparks)"

然后,您可以安装twiggy软件包。您将在 sparks/目录中看到它,您可以在其中查看安装的版本:

$ php tools/spark install twiggy
$ ls sparks/Twiggy/
0.8.5
$

然后设置树枝的目录结构

$ mkdir -p  application/themes/default/_layouts

然后,您可以选择将Twig更新到所需的最新版本或版本。Twiggy的那个似乎有点旧:

$ cd sparks/Twiggy/0.8.5/vendor/
$ rm -fr Twig/
$ git clone https://github.com/fabpot/Twig

twiggy 链接 ,有一个可用于测试 Twig 的模板示例。

这是一个示例控制器,application/controllers/test.php ,使用它们并传递数据(更多内容在这里:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Test extends CI_Controller {
    /* */
    public function __construct(){
        parent::__construct();
        $this->load->spark('Twiggy/0.8.5'); //enable Twig
    }
    public function index()
    {
        //set a data variable to pass, tell twiggy which template to use 
        //application/themes/default/index.html.twig, here
        $this->twiggy->set( 'data', array('name' => 'index') )->template('index')->display();
    }
}

浏览到/test/index ,您将看到 Twig 模板的渲染结果。

有一个 twig-codeigniter 项目,您可以在其中找到问题的答案。看看这个页面 https://connect.sensiolabs.com/profile/bmatschullat/project/twig-codeigniter