2013-10-20 34 views
1

我有一個項目,我已經設置了使用codeigniter和使用作曲家安裝樹枝。我是新的codeigniter和作曲家,我不知道該怎麼做才能開始在我的意見中使用樹枝。我在views文件夾中創建了一個名爲resources/master.html的文件和一個名爲index.html的文件。在codeigniter項目中使用樹枝

在index.html的我剛剛把

{% extends "resources/master.html" %} 
它只是簡單地在頁面上呈現爲文本,好像樹枝沒有被加載

。我需要做什麼才能讓樹枝解釋頁面?

+0

我不是專家,但考慮將它包含在你的控制器中嗎? – 2013-10-20 20:34:12

+0

如果你喜歡模板繼承,我推薦檢查一下Laravel,它的內置在他們的Blade引擎中,真是一個很好的框架。 – 2013-10-20 20:35:10

回答

1

我不知道如何結合Composer和Codeigniter。我懷疑你可能需要找到/寫一個自動加載小枝的軟件包。

我安裝了Codeigniter專用包管理器sparks,並使用它通過名爲twiggy的包裝程序包來安裝/集成Twig。你可以進入你的Codeigniter項目的根目錄。安裝火花:

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

然後,您可以安裝twiggy軟件包。你會看到它的火花/目錄下,你可以看到被安裝的版本:

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

然後設置爲樹枝

$ mkdir -p application/themes/default/_layouts 

然後將目錄結構,您可以選擇更新嫩枝到您想要的最新版本或版本。在纖細的人似乎有點老了:

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

twiggy link,有你可以用它來測試枝杈模板的例子。

這裏有一個例子控制器,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(); 
    } 
} 

瀏覽到/測試/索引,你會看到你的嫩枝模板渲染結果。