Как передать предыдущий и обратный идентификатор элемента в yii grideview?
Я пытаюсь создать ссылку в yii1.1 grideview
с его идентификатором и его предыдущим и задним идентификатором элементов.
array(
'class' => 'bootstrap.widgets.TbButtonColumn',
'template' => '{manage}',
'buttons' => array(
'manage' => array(
'label' => 'Manage',
'icon' => 'th',
'url' => Yii::app()->createUrl(
"/member/data/manage",
array("id" => $data->id, "prev" => ???, "post" => ???)
),
),
),
),
1 ответ
Попробуйте приведенный ниже код, не очень хорошее решение, но должно работать
array(
'class' => 'bootstrap.widgets.TbButtonColumn',
'template' => '{manage}',
'buttons' => array(
'manage' => array(
'label' => 'Manage',
'icon' => 'th',
'url' => function ($data, $row, $widget) {
$pagination = $widget->grid->dataProvider->getPagination();
$widget->grid->dataProvider->setPagination(false);
$provider_data = $widget->grid->dataProvider->getData();
$widget->grid->dataProvider->setPagination($pagination);
return Yii::app()->createUrl(
"/member/data/manage",
array(
"id" => $data->id,
"prev" => isset($provider_data[$row - 1]) ? $provider_data[$row - 1]->id : '',
"post" => isset($provider_data[$row + 1]) ? $provider_data[$row + 1]->id : ''
)
);
},
),
),
),