我是yii开发的新手。
在我的系统中,我正在尝试创建一个子菜单系统。子菜单将根据显示 控制器。子菜单将是单独的视图,我将在主布局中加载。
我想将子菜单视图的加载逻辑与主布局分开。但是,我不知道在哪里写它。
Yii是否有像RoR那样的助手。或者,我应该将其作为组件编写吗?
请提出建议。
感谢。
答案 0 :(得分:2)
我只是为此创建一个组件,并使用控制器中的相关菜单选项对其进行实例化。如果存在于所有控制器中,请在BaseController中实现支持,只需在子控制器中设置一个项目数组。
答案 1 :(得分:1)
您的默认生成的Yii应用程序在protected / components / Controller.php中有一个父Controller。如果需要在布局中访问其他参数,请将公共属性添加到Controller,在子控制器中设置它们,并在视图/布局文件中使用它们。
在您的情况下,向此父控制器添加一个函数,该函数返回渲染的子菜单(例如,使用renderPartial调用)并从布局中调用此函数。