我正在阅读此link,因为“如何在应用程序中实现多个页面布局”很容易,直到它说:要将控制器用于所有布局,您最好创建< strong> BaseController 在protected / components / BaseController.php中,很简单,我用这个内容创建了php文件:
abstract class BaseController extends CController
{
public $crumbs=array();
public $portlets=array();
public $portlets2=array();
}
我将这些行放在组件部分的main.ph中:
'BaseController'=>array(
'class'=>'application.components.BaseControllert',
),
当我在布局中使用时:
$这 - &GT;门户
它返回
未定义属性“HomeController.portlets”。
表示它在主控制器中查找该变量。
我怎么能解决这个问题?
答案 0 :(得分:1)
您忘记了所有控制器都必须扩展此类。
仔细阅读:http://www.yiiframework.com/wiki/28/#hh1
然后我们可以从这个基类派生每个具体的 控制器类
您只需要像这样修改控制器:
class MyController extends BaseController {
.....
}