我使用CGridView
顯示的數據表:如何在Yii中創建沒有參數名稱的URL?
/application/protected/views/foo/bar.php
$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'my-grid',
'dataProvider' => $dataProvider,
'filter' => $model,
'columns' => array(
'myid',
...
array(
'class' => 'CButtonColumn',
),
),
));
即創建的表有三通爲每一行:view
,update
,和delete
;例如(對於view
):/index.php/foo/123
,其中123
是元素的ID(或主鍵值)。
現在我想修改控件調用,以獲得不同的按鈕鏈接像/index.php/bar/123
:
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'my-grid',
'dataProvider' => $dataProvider,
'filter' => $model,
'columns' => array(
'myid',
...
array(
'class' => 'CButtonColumn',
'template' => '{view}{update}{delete}',
'buttons' => array(
'view' => array(
'url' => 'Yii::app()->createUrl("bar", array("myid" => $data->myid))',
)
),
),
),
));
的(視圖)鏈接我得到這個樣子的:/index.php/bar/myid/123
- 並在請求結束與404
錯誤。
如何構建URL中沒有參數名稱的鏈接?
其他信息 - 在/application/protected/config/main.php
我的路由配置:
return array(
...
'components'=>array(
...
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
),
...
),
);
的' 'URL'=>「的Yii ::應用程序( - > createUrl( 「富」,陣列( 「ID」=> $數據 - >身份識別碼) )''生成'/ index.php/foo/id/123',而不是'/ index.php/foo/myid/123'。你確定你問題中的一切都是正確的嗎? – hamed
謝謝你的提示。是的,我打錯了。我現在糾正了這個問題。你有一個想法,如何解決這個問題? – automatix