php - How to create URLs without parameter names in Yii? -
i'm using cgridview display data table:
/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', ), ), )); that created table 3 links each row: view, update, , delete; e.g. (for view): /index.php/foo/123, 123 id (or primary key value) of element.
now want modify widget call, in order different buttons links /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))', ) ), ), ), )); the (view) link i'm getting looks this: /index.php/bar/myid/123 -- , request ends 404 error.
how build links without parameter name in url?
additional info -- routing configuration in /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>', ), ), ... ), );
when have /index.php/bar/myid/123 url, actionview of barcontroller must have myid (not id) parameter. have actionview($id) , cause problem. need have actionview this:
public function actionview($myid) { ... }
Comments
Post a Comment