Pel*_*ang 8 parameters yii yii-url-manager
我用过,Yii::app()->request->getParam()所以我可以有一个友好的网址/listings/amenities/1.
我的控制器上有3个动作来获取参数$property_id = Yii::app()->request->getParam('property_id').
这两个行动amenities和meals工作正常,但在最后一个动作photos时,VAR property_id有一个空值.
我尝试删除照片规则上的第二个参数,一切正常.如何在不删除第二个参数的情况下解决这个问题gallery_id?
以下是urlmanager规则:
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName' => false,
'rules'=>array(
'listings/amenities/<property_id>'=>'listings/amenities',
'listings/meals/<property_id>'=>'listings/meals',
'listings/photos/<property_id>/<gallery_id>'=>'listings/photos',
),
),
Run Code Online (Sandbox Code Playgroud)
[编辑]我认为解决方案涉及如何正确设置可选参数的规则来处理请求listings/photos/1和listings/photos/1/2.添加OR符号无法解决问题.
'listings/photos/<property_id>/<gallery_id>'=>'listings/photos'
Run Code Online (Sandbox Code Playgroud)
Sam*_*iew 15
你尝试过使用两条规则吗?首先放置较长的规则:
'listings/photos/<property_id:\d+>/<gallery_id:\d+>' => 'listings/photos',
'listings/photos/<property_id:\d+>' => 'listings/photos',
Run Code Online (Sandbox Code Playgroud)
在您的操作中,设置galleryId为null:
public function actionPhotos($propertyId, $galleryId = null) {
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3659 次 |
| 最近记录: |