php – CButtonColumn用于CGridView中的另一个模型

我在视图& id = n页面中显示另一个相关模型的CGridView.必要的关系包含在模型文件中,一切正常.唯一的问题是CButtonColumn中的按钮链接到正在打开页面的模型的相应操作,而我希望它们链接到相关模型的操作.

为了解释清楚我的意思,这是我的代码.在Order模型的view.php中:

$dataProvider=new CActiveDataProvider('OrderContents', array(
'criteria'=>array(
    'condition'=>'order_id='.$model->id,
    'with'=>array('order'),
),
'pagination'=>array(
    'pageSize'=>20,
),
));

$this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'orders-contents-grid',
    'dataProvider'=>$dataProvider,
    'columns'=>array(
            'id',
            'comp_name',
            'quantity',
            'comment',
            array(
                    'class'=>'CButtonColumn',
            ),
    ),
));

因此,我希望CButtonColumn中的按钮链接到OrderContents模型的相应操作,而现在链接到Order模型的操作.有没有简单的方法来实现这一目标?我检查了CButtonColumn和CGridView的API,看看我是否能获得任何灵感,但没有运气.

解决方法:

实际上,如果您只想更改网址,则甚至不需要创建自定义按钮.查看CButtonColumn的viewButtonUrl,updateButtonUrl和deleteButtonUrl.

您可以调整网址,如另一个答案所示

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐