模板讀取到主模板從一個地方這是一個有點難以解釋什麼是我約的問題,但我要去嘗試:)笨 - Smarty的 - 如何笨
在定製項目中我使用Smarty,我有一個index.php文件,其中放置了網址處理和內容的所有基本設置。
例如:
// Get information for the "about us" page
if($_GET['qs']=='about_us'){
$data['text'] = 'Lorem Ipsum...';
$data['other_stuff'] = 'dolor sit amet';
// Required template file
$data['tpl_Name'] = 'about.tpl';
}
在這個文件我有一點的代碼,獲取正確的模板結束其發送到master_site模板的底部。
例如:
if (isset($data['tpl_Name'])){
$this->smarty->assign('content', $this->smarty->fetch($data['tpl_Name']));
$this->smarty->view('master_site.tpl');
}
在master_site.tpl我可以用{$內容}訪問about.tpl 此{$內容}變量將每一頁改變,因爲在index.php是通過在我的應用程序中請求頁面將所有數據發送到的頁面。
問題:在CodeIgniter中是否有一個文件可用於每個頁面,所以我可以創建類似上面的東西?現在我必須在我的控制器的每個函數中使用這段代碼(第二個例子),而且效率不高。
當然,我必須在每個函數中設置$ data ['tpl_Name'],但那沒問題。
謝謝。
您是否考慮過擴展核心控制器? – 2013-03-13 22:16:05
我會這樣做的方式是將所有頁面信息移出到CSV文件(即sitemap.csv)。然後以constructor函數的數組形式加載csv文件。然後,您可以將所有頁面請求路由到一個方法,根據uri動態設置模板(就像您已經這樣做),還可以以同樣的方式從sitemap.csv數組請求頁面信息。 – Jeemusu 2013-03-14 02:35:07