2012-06-14 47 views
0

問題在眼前:我應該如何構建我的codeigniter控制器?

我創建一個「微型網站」不超過10頁。當用戶未登錄時,登錄表單位於主頁上。這是一個快速分解。

公共訪問頁:

  • 首頁(非會員)
  • 信息頁
  • 新聞頁
  • 註冊頁面

會員訪問頁:

  • 主頁(會員版)
  • 我的賬戶頁面
  • 進入大賽頁面

潛在的解決方案:

我不知道我的控制器的最佳解決方案。我正在考慮使用2個控制器,一個公共控制器和一個成員控制器。我的默認控制器是公開的。構造器會檢查是否有用戶登錄,如果是,將其重定向到成員控制器:

redirect('member') 

成員頁面將被加載,它具有比公頁面幾個環節。當一個用戶點擊進入比賽時,成員構造函數確保他們已經登錄,然後顯示比賽視圖。

這是應該如何進行特權訪問。我還將爲管理員添加一個管理員頁面來更改獎品。所以會有3個特權。

謝謝!

+0

對於這樣一個小項目,你可以使用類似Drupal和WordPress的 – David

+0

@大衛我是笨很感興趣,當我開始,並希望看到它通過。我會在未來的小項目中考慮Drupal和WOrdpress – Eddie

+0

我認爲我需要google的是codeigniter特權控制:)現在得到某處 – Eddie

回答

1

你做得很好,可以在那裏命名你所有的視圖文件。現在,除了2個主視圖之外,您可以爲每個視圖創建一個控制器,併爲需要訪問數據庫的控制器創建一個模型。

在每個特權控制器的構造中,檢查該人的訪問級別。如果他們無法訪問這些頁面,請將它們重定向到其他位置,或者可能會使用錯誤消息加載視圖。

在主視圖中,除非您決定是否加載非成員或成員主頁,具體取決於它們是否已登錄。即你並不需要重定向失敗。

+0

我想我會得到你要去的地方。現在我開始懷疑我是否應該有兩個不同的主頁,或者只是根據他們的特權畫出輸入比賽和我的賬戶鏈接。但是,我的觀點需要檢查會議MVC的哪種螺絲正確? – Eddie

+1

那麼,如果它們有所不同,那麼有兩個備選視圖文件是完全可以的。另外,請記住,您可以加載部分視圖文件。即加載標題,側欄,從您要加載的鏈接視圖中選擇,等到頁腳。否則,將帳戶鏈接或其他任何內容保存到數組中,並將$ data ['links'](或其他)傳遞給視圖。只需使用foreach(或解析器)在視圖中輸出即可。 – MikeCruz13

相關問題