Yii $ this-> widget中的renderPartial()Action throw错误

时间:2013-08-11 11:33:39

标签: php yii yii-components

我是Yii的新手,并尝试编写一个小部件。它是一个复杂的,包含一个“动作”,它应该在这个小部件中呈现一个视图。

我以前是$ this-> renderPartial();在Action内部,但它会抛出错误。

我的widget类缩短了构造

class CCProductFilters extends CWidget {
...
public static function actions() {
        return array(
            'CutShapeSelected' => 'application.components.rigthSidebar.widget.actions.contactFormSubmitted'          
        );
    }
...

}

1 个答案:

答案 0 :(得分:3)

关于您的问题,您既未指定窗口小部件的结构,也未指定您尝试访问的文件的路径,但我可以假设您的视图文件可以在内部组件文件夹下找到:

如果您的结构如下所示:

-components
 | - rigthSidebar
     | - widget
         | - actions
             | - contactFormSubmitted.php
             | - ...
         | - views 
             | - YOUR_VIEW_FILE.php
             | - ...
         | - CCProductFilters.php

然后您将使用以下代码直接从操作文件

访问视图文件
$this->controller->renderPartial('application.components.rigthSidebar.widget.views.YOUR_VIEW_FILE.php', array(), false, true);

请注意,如果没有访问控制器,您不能只在$this->renderPartial();内部操作。 希望它有所帮助,欢呼!