我有一个项目,我使用codeigniter设置并使用composer来安装twig。我是codeigniter和composer的新手,我不知道如何在我的视图中开始使用twig。我在views文件夹中创建了一个名为resources / master.html的文件和一个名为index.html的文件。
在index.html中我刚刚提出
{% extends "resources/master.html" %}
只是作为文本在页面上呈现,看起来好像没有加载twig。我需要做些什么才能让枝条解释页面?
答案 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