2010-08-27 45 views
1

我爲我的網站創建了一個通用的「頁面」控制器。這些頁面主要提供靜態信息,它們提取最新版本的頁面內容以及數據庫中的更新日期。在每個頁面上,他們都有一個部分菜單和一個資源菜單。部分菜單由頁面所在站點的邏輯部分決定。資源菜單包含與該頁面關聯的資源,文檔,離站鏈接,日曆事件鏈接等的鏈接。這些資源是頁面特定的並且也被拉出來自數據庫。向代碼控制器添加上下文敏感菜單

目前頁面控制器生成它們並將它們放置在視圖中,但是我正着眼於可能只有一個,兩個或沒有菜單的其他控制器上工作。我是否應該繼續將菜單選擇和生成功能作爲頁面控制器的功能並將其粘貼到新的控制器中?或者我應該以某種方式將菜單查找和生成函數分解爲其他對象(庫,輔助器或插件)?如果是的話,我應該如何分解它?或者我應該如何執行它?

+0

您現在可以粘貼您的代碼嗎? – musoNic80 2010-08-28 09:57:52

回答

0

你可以做幾件事情,但要記住的重要事情是嘗試一次代碼,所以菜單你不想複製和粘貼它。

如果您是基於用戶許可的或東西,你可以在例如視圖檢查這些東西定義菜單:

<?php if ($this->tank_auth->checkPerm('Backup')) : ?> 
    <div class="menu_item" id="menu4">... 
<?php endif; ?> 

您還可以,如果你想改變發送參數,從控制器的看法菜單取決於頁面或各種事物。

應該沒有必要製作一個庫,幫手或插件。