1

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

在 index.html 我刚刚放

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

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

4

2 回答 2

1

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

我安装了一个 Codeigniter 特定的包管理器 sparks ,并使用它通过一个名为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
$

然后设置twig的目录结构

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

于 2014-03-24T03:18:28.517 回答
0

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

于 2013-10-20T20:39:56.920 回答