CGridview列按钮语法错误,意外'''

时间:2018-04-17 03:04:11

标签: javascript php yii

这是位于zii.widgets.grid.CGridView,

的列的一部分
array(
    'header' => "Action",
    'id' => 'id',
    'name' => 'name',
    'type' => 'raw',
    'value' => 'CHtml::button("Settings", array(
        "onclick" => "document.location.href=\''.Yii::app()->createUrl("/admin/settings/AddEditPaymentSetting/action/edit/eid/".'$data["id"]').'\'",
        "class" => "btn btn-default btn-top-rv btn-block"))',
    'htmlOptions' => array(
       'style' => 'text-align: center;'
    ),
)

当我在视图上运行时,该列显示语法错误,意外""',对此问题有什么看法?感谢。

2 个答案:

答案 0 :(得分:0)

你有一些引用序列的探测器......尝试使用

"onclick" => 
    'document.location.href="' . 
      Yii::app()->createUrl( "/admin/settings/AddEditPaymentSetting/action/edit/eid/" .
           $data["id"] ) . '"'  . "'",

答案 1 :(得分:0)

很难说你想做什么,但对于复杂的代码,你应该更好地使用匿名函数来生成值而不是PHP代码字符串。

'value' => function ($data) {
    return CHtml::button("Settings", array(
        // your settings
    ));
},

在单个字符串中混合使用PHP,数组和JS代码非常棘手。我还建议使用一些IDE或至少是不错的编辑器 - 语法突出显示这些错误变得非常明显。