2012-02-14 18 views
1

我是yii開發的新手。難以決定在哪裏把代碼放在yii視圖幫手中

在我的系統中,我試圖創建一個子菜單系統。子菜單將根據 控制器顯示。子菜單將是單獨的視圖,我將在主佈局中加載。

我想分開從主佈局加載子菜單視圖的邏輯。但是,我不確定在哪裏寫它。

Yii是否有像RoR一樣的助手。或者,我應該把它作爲一個組件來寫嗎?

請給出建議。

謝謝。

回答

2

我只是爲此創建一個組件,並使用控制器中的相關菜單選項實例化該組件。如果存在於所有控制器中,請在BaseController中實現支持,並在子控制器中設置一組項目。

1

您默認生成的Yii應用程序在protected/components/Controller.php中有一個父控制器。如果您需要訪問佈局中的其他參數,請將公共屬性添加到Controller中,將它們設置在您的子控制器中,然後在視圖/佈局文件中使用它們。

在你的情況下,向這個父控制器添加一個函數,返回一個渲染子菜單(例如renderPartial調用),並從你的佈局中調用這個函數。