2011-01-16 92 views
0

你好im工作在一個項目上,我有一個頁腳和一個側欄,我想從數據庫中加載一些信息,我怎麼能這樣做,它加載所有頁面上的相同。codeigniter,管理系統和自動加載

我想做一個管理系統,我應該怎麼做?我需要一個新的codeigniter灌輸,或者我可以在我的控制器,模型和視圖地圖中創建一個新的地圖嗎?

你們是怎麼做到的?

回答

0

模板方法,我通常用的是這樣...(這顯然是依賴於是否側邊欄,在您的設計,來之前/在你的標記「內容」後)

<? $this->load->view('path/to/header') ?> 

//content of page 

<? $this->load->view('path/to/sidebar') ?> 

<? $this->load->view('path/to/footer') ?> 

現在如果你打算爲每個視圖都需要變量,你可以像控制器的構造函數一樣在全局加載它們。

$data->some_variable = $some_information; 
$this->load->vars($data); 

這將使您從該控制器加載的所有視圖都可以使用$some_variable

管理系統僅僅是您的站點/應用程序的另一個區域,它僅受認證系統的保護。您首先需要一種方法來驗證用戶的身份。我通常使用Ion_Auth作爲我的首選auth庫,並且我已經完成了關於如何以非常乾淨的方式設置Ion_auth和「受保護」控制器的fairly extensive write-up

1

我會這樣做的方式是創建一個MY_Controller,然後將所有的通用邏輯放在它的內部,然後所有其他控制器擴展您的MY_Controller。這樣可以避免不得不重複提取內容,並在控制器內部重複定義和寫入相同的代碼。參見Phil Sturgeon的文章base classes and keeping it DRY

一個用於模板網站,包括管理面板,菲爾鱘魚還創建了一個簡單的template library,使您可以在您的網站有不同的佈局,你可以切換主題等

至於創建管理面板,菲爾也寫了一篇關於這個主題的文章,他詳細介紹了你可以開發管理面板的各種方式,哪種方法最好,等等。關於這篇文章的一些評論也非常有幫助太。閱讀他的admin article here

+0

你有這個鏈接有點不對http://philsturgeon.co.uk/news/2009/07/Create-an-Admin-panel-with-CodeIgniter :) –

+0

啊,很好拿起菲爾。當我發佈鏈接時,你的網站已經關閉,所以我不得不復制谷歌搜索結果中的網址,並從網址中刪除所有Google Googlecrap,看起來像我錯過了一個角色,哈哈。 –