我的SiteController.php
中有一个函数根据地址显示数据库中的数据。
id=value
。
public function actionIndex($id='index')
{
// renders the view file 'protected/views/site/index.php'
// using the default layout 'protected/views/layouts/main.php'
$this->pageTitle = 'Strona główna';
$criteria = new CDbCriteria(
array(
'condition' => 'name = :Name',
'params' => array(':Name' => $id),
)
);
$ModelPages = Pages::model()->findAll($criteria);
$this->render('index',
array(
'Model' => $ModelPages,
)
);
}
如何从接受地址的Zii改进设置CMenu。输入CMenu index.php?id=value
或/index.php/id/value
后无效。我想以显示index.php/value
的方式解决。如果我手动输入地址栏index.php?id=value
,它就会起作用。
<?php $this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>'Home', 'url'=>array('index.php')),
array('label'=>'O nas', 'url'=>array('/site/page', 'view'=>'about')),
array('label'=>'Galeria', 'url'=>array('/site/contact')),
array('label'=>'Kontakt', '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)
),
)); ?>
答案 0 :(得分:1)
您需要在rule
配置中添加urlManager
。像这样:
'<id:[^\/]*>' => 'site/index',
将置于其他规则之上。