首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CGridView和CButtonColumn杂志上

在CGridView和CButtonColumn杂志上
EN

Stack Overflow用户
提问于 2014-04-16 18:30:48
回答 2查看 380关注 0票数 2

CGridView中有以下数组:

代码语言:javascript
复制
array(
    'header' => Yii::t('dataTable', 'Actions'),
    'class' => 'CButtonColumn',
    'template' => '{action}',
    'buttons' => array(
        'action' => array(
            'label' => '$data["action"]["action"]',
            'url' => function($data) use($paramsURI) {
                $paramsURI['action'] = $data['action']['action'];
                $paramsURI['id'] = $data['id'];
                return Yii::app()->createUrl(
                     "admin/report/transactions", $paramsURI
                );
            }
        )
    )
)

我需要使用$data on按钮标签,但是在'label' => '$data["action"]["action"]'中,$data是未定义的,所以我尝试在'action‘中使用闭包,但是错误是'htmlspecialchars() expects parameter 1 to be string, object given '

有什么办法解决这个问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-16 18:44:00

不要使用CButtonColumn,用'type'=>'raw'创建简单的列,并在这个字段中显示您想要的任何内容。

票数 2
EN

Stack Overflow用户

发布于 2014-04-16 18:54:02

我不认为标签支持eval表达式。您可以使用可视选项来隐藏和显示像这样的数据敏感标签。在下面的例子中,如果$data' Action‘=="Action 1“和Action 2适当地显示了"Action 1”。在这里观察“模板”和“可见”键。

代码语言:javascript
复制
array(
    'header' => Yii::t('dataTable', 'Actions'),
    'class' => 'CButtonColumn',
    'template' => '{action1 action2}',
    'buttons' => array(
        'action1' => array(
            'label' => 'Action 1',
            'visible' => '$data["action"]["action"]=="Action 1"',
            'url' => function($data) use($paramsURI) {
                $paramsURI['action'] = $data['action']['action'];
                $paramsURI['id'] = $data['id'];
                return Yii::app()->createUrl(
                     "admin/report/transactions", $paramsURI
                );
            }
        ),
        'action2' => array(
            'label' => 'Action 2',
            'visible' => '$data["action"]["action"]=="Action 2"',
            'url' => function($data) use($paramsURI) {
                $paramsURI['action'] = $data['action']['action'];
                $paramsURI['id'] = $data['id'];
                return Yii::app()->createUrl(
                     "admin/report/transactions", $paramsURI
                );
            }
        )
    )

)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23117414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档