我有一个项目,我使用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