难以确定将代码放在yii视图助手中的位置

时间:2012-02-14 12:23:19

标签: yii

我是yii开发的新手。

在我的系统中,我正在尝试创建一个子菜单系统。子菜单将根据显示 控制器。子菜单将是单独的视图,我将在主布局中加载。

我想将子菜单视图的加载逻辑与主布局分开。但是,我不知道在哪里写它。

Yii是否有像RoR那样的助手。或者,我应该将其作为组件编写吗?

请提出建议。

感谢。

2 个答案:

答案 0 :(得分:2)

我只是为此创建一个组件,并使用控制器中的相关菜单选项对其进行实例化。如果存在于所有控制器中,请在BaseController中实现支持,只需在子控制器中设置一个项目数组。

答案 1 :(得分:1)

您的默认生成的Yii应用程序在protected / components / Controller.php中有一个父Controller。如果需要在布局中访问其他参数,请将公共属性添加到Controller,在子控制器中设置它们,并在视图/布局文件中使用它们。

在您的情况下,向此父控制器添加一个函数,该函数返回渲染的子菜单(例如,使用renderPartial调用)并从布局中调用此函数。