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文件。它必须位于根目录下的资产文件夹中,而不是小部件文件夹中的新资产文件夹中!