Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii中的自定义小部件_Php_Yii_View_Widget - Fatal编程技术网

Php Yii中的自定义小部件

Php Yii中的自定义小部件,php,yii,view,widget,Php,Yii,View,Widget,我创建新的小部件,如下所示: class MyMenu extends CWidget { public function init() { } public function run() { $Items = array( array('label'=>'Home', 'url'=>array('/site/index')), arra

我创建新的小部件,如下所示:

class MyMenu extends CWidget
{
    public function init()
    {

    }
    
    public function run()
    {
        $Items = array(
                    array('label'=>'Home', 'url'=>array('/site/index')),
                    array('label'=>'Add User', 'url'=>array('/user/register')),
                    array('label'=>'View Users', 'url'=>array('/user/index')),
                    array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),
                    array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest)
                );
        $this->render('MyMenu', array('Items'=>$Items));
    }
}
和此小部件的视图

echo '<div id="Menu">';
$this->widget('zii.widgets.CMenu',array(
                'items' => $Items,
        ));
echo '</div>';
echo';
$this->widget('zii.widgets.CMenu',数组(
'items'=>$items,
));
回声';
这是我的小部件文件的路径:

但我有一个错误

MyMenu小部件找不到视图“MyMenu”


我做错了什么?

你应该调用目录
视图
,而不是
视图


源代码显示:

谢谢,顺便说一句。也许你会知道为什么我无法访问MyMenu.css。我将扩展/小部件重命名为etensions/MyMenu,并将MyMenu.css放入资产文件夹。在我创建的小部件视图文件中:
$filename=Yii::app()->request->baseUrl./protected/extension/MyMenu/assets/MyMenu.css';Yii::app()->getClientScript()->registerCssFile($filename)核心视图显示:
但正如我所说,我无法访问此css文件(当我尝试在浏览器中显示此文件时出现错误403)我的错误,我需要替换css文件。它必须位于根目录下的资产文件夹中,而不是小部件文件夹中的新资产文件夹中!