Yii创建布局的BaseController

时间:2013-04-05 08:30:24

标签: layout yii controller

我正在阅读此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”。

表示它在主控制器中查找该变量。

我怎么能解决这个问题?

  • 根据此链接link撰写的所有布局代码。

1 个答案:

答案 0 :(得分:1)

您忘记了所有控制器都必须扩展此类。

仔细阅读:http://www.yiiframework.com/wiki/28/#hh1

  然后我们可以从这个基类派生每个具体的   控制器类

您只需要像这样修改控制器:

class MyController extends BaseController {
.....
}