0

我正在阅读“如何在应用程序中实现多个页面布局”的链接很容易,直到它说:要对所有布局使用控制器,您最好在 protected/components/BaseController.php 中创建BaseController ,这很容易,我使用以下内容创建了 php 文件:

abstract class BaseController extends CController
{
    public $crumbs=array();
    public $portlets=array();
    public $portlets2=array();
}

我将这些行放在组件部分的 main.ph 中:

    'BaseController'=>array(
            'class'=>'application.components.BaseControllert',
        ),  

当我在我的布局中使用时:

$this->portlets

它返回

未定义属性“HomeController.portlets”。

这意味着它会在主控制器内部查找该变量。

我该如何解决这个问题?

  • 根据此链接链接编写的所有布局代码。
4

1 回答 1

1

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

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

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

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

class MyController extends BaseController {
.....
}
于 2013-04-05T08:45:00.163 回答