2012-08-13 72 views
0

我正在寫一些帶有一些cms功能的簡單網站。將所有菜單項和頁面內容保存在數據庫中將是一件好事。菜單和數據庫中的所有頁面內容

我有id,name,parent_idcontent字段的表。在將來,我可能會將內容移動到content表格以將多個內容用fk菜單項目。但情況並非如此。

的問題是:

  1. 我需要在菜單表中的URL字段?
  2. 我還需要什麼來讓它工作?每個頁面是否都有自己的控制器?我是zend framework的初學者,所以請給我一些指示。提前致謝。

回答

0

讓我們從問題2開始:每一頁都不需要自己的控制器。如果您的頁面是靜態的,您甚至可以使用單個操作加載每個頁面。對於更動態的處理,您可以爲每個頁面使用單獨的操作。

在任何情況下,請確保以有道理的方式將代碼構建到控制器和操作中。例如,在CMS內部,用戶可能會編輯,創建或刪除帖子。然後,您可以創建PostController,其中您編寫了一個editAction,createActiondeleteAction

可能在表中存儲的URL,但你不一定非要。

(大多爲靜態內容)

單作用的方法確保idname存儲在一個GET PARAM頁面。然後,您可以使用下面的代碼:

public function genericpageAction() 
{ 
    $thePageID = $this->_request->getParam('id'); 

    // fetch the page content from the db based on $thePageID 
    // and pass it to the view 
} 

當然,在這裏,你也可以對陣存儲在表中,如果你選擇了這種方法的URL。

多個動作的方法(更多的動態處理,很有可能你想用一個CMS什麼)

你可以爲每個頁面定義一個途徑,並加載其在各自的行動內容。例如,對於頁面來編輯帖子:

class MyCMS_PostController extends Zend_Controller_Action 
{ 
    public function editAction() 
    { 
     // fetch the home page content 
     // do any further processing if necessary 
    } 
} 
相關問題