从视图中使用yii小部件


using a yii widget from a view

这看起来应该非常简单,但我很挣扎。

所以,当我把它放在一个布局中时,下面的行非常有效。也就是说,从"/protected/views/layout/baselayout.php"中的行:

$this->小部件('BuildingList');

它的工作方式完全符合要求。它会创建一个建筑列表。

但是,当在视图中使用同一行代码时,它会失败。也就是说,从"/protected/views/rooms/update.php"我得到

Include(/Var/Www/Html/Yii/Framework/Zii/Widgets/CWidget.Php):失败开放流:没有这样的文件或目录

就其价值而言,CWidget.php绝对不在"/zii/widgets"中。它在"/framework/web/widgets"中

但不知何故,Yii知道在哪里可以从布局中找到CWidget.php,而不是从视图

中找到

尝试使用小部件的全名。

如果它在/受保护/组件中,它们:

$this->widget('application.components.BuildingList');

您也可以将其添加到配置文件中的"导入"部分,如下所示:

'import'=> [ 
             'application.models.*', 
             'application.components.*', 
             'ext.*' 
           ],