2013-08-03 26 views
1

我在FuelPHP上看不到很多關於模板的教程。官方文檔中的部分沒有真正解釋任何內容。FuelPHP模板

有人可以推薦的任何示例或教程嗎?

+0

這是真的,但是,你需要什麼關於模板?也許我可以幫你。解釋更多。 – Gadonski

回答

3

FuelPHP中並沒有真正的模板。

有一個模板控制器,它允許您將視圖設置爲'頁面模板',並在控制器操作完成時自動呈現它。

所以該控制器中的模板是一個普通的視圖。將節傳遞給它只不過是將變量傳遞給它,它可能包含另一個View對象(例如頁眉或頁腳視圖)。 http://fuelphp.com/docs/general/views.html有一個例子,在'嵌套視圖'下。

如果你想有一個更靈活的系統,你應該看看主題類,它與主題(多),模板,諧音,主題備用,中央查看文件夾的作品等

2

對於使用fonctionalities在你的頁面(例如:Controller_Home)的控制器

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/html" xmlns="http://www.w3.org/1999/html" xmlns="http://www.w3.org/1999/html"> 
<head> 
    <meta charset="utf-8"> 
    <title>Website<?php echo isset($title) ? ' - '.$title : ''; ?></title> 
    <?php echo Asset::css('style.css'); ?> 
    <?php echo Asset::js('global.js'); ?> 
</head> 
<body> 
    <div id="header"> 
     <!-- Some code --> 
    </div> 
    <div class="container"> 
     <?php echo isset($content) ? $content : ''; ?> 
     <hr/> 
     <footer> 
      <!-- Some code --> 
     </footer> 
    </div> 
</body> 
</html> 

然後:Fuelphp Controller_Template的,創建一個名爲template.php文件與基本元素默認視圖擴展Controller_Template之前放在一個函數的變量():

class Controller_Home extends \Fuel\Core\Controller_Template 
{ 
    public function before() 
    { 
     parent::before(); 
     $this->template->menu = 'home'; 
     $this->template->title = 'Home'; 
    } 
} 

然後,當你想調用一個頁面在這個控制器(例如:的index.php)試試這個:

public function action_index() 
{ 
    $this->template->content = View::forge('home/index'); 
} 

它會顯示模板和你的頁面(view)的index.php。