在codeigniter项目中使用twig

时间:2013-10-20 20:28:35

标签: php codeigniter twig composer-php

我有一个项目,我使用codeigniter设置并使用composer来安装twig。我是codeigniter和composer的新手,我不知道如何在我的视图中开始使用twig。我在views文件夹中创建了一个名为resources / master.html的文件和一个名为index.html的文件。

在index.html中我刚刚提出

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

只是作为文本在页面上呈现,看起来好像没有加载twig。我需要做些什么才能让枝条解释页面?

2 个答案:

答案 0 :(得分:1)

我不确定如何合并Composer和Codeigniter。我怀疑你可能需要找到/写一个自动加载树枝的包。

我安装了一个Codeigniter特定的包管理器sparks,并使用它来通过名为twiggy的包装程序包安装/集成Twig。您进入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 link有一个模板示例,您可以使用它来测试Twig。

以下是一个示例控制器application/controllers/test.php,使用它们并传递数据(更多关于here

<?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模板的渲染结果。

答案 1 :(得分:0)

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