【问题标题】:How can I change cbuttoncolumn label dynamically in yii cgridview如何在 yii cgridview 中动态更改 cbuttoncolumn 标签
【发布时间】:2015-12-13 22:29:02
【问题描述】:

我正在尝试动态更改 cbuttoncolumn 标签。但不知何故,它不起作用。我的代码是

array(
      'class'=>'CButtonColumn',
      'template'=>'{publish}',
      'buttons'=>array(
          'publish'=>array(
             //'type'=>'raw',
             'label'=>'$data->content_type == 1 ? "View & Publish" : "Publish"',
             'icon'=>'ok',
             'url'=>'Yii::app()->createUrl("/admin/contentToPublish/publish")',
           ),
       ),
),

我该怎么做??

【问题讨论】:

    标签: php yii cgridview cbuttoncolumn


    【解决方案1】:

    您可以使用自定义链接创建一个新列,如下所示:

    在您的模型中:

    public function getMyValue(){
        $linkOne = CHtml::link("$this->labelOne", Yii::app()->createUrl("model/action",array("id"=>$this->id)));
        $linkTwo = CHtml::link("$this->labelTwo", Yii::app()->createUrl("model/action",array("id"=>$this->id)));
        return $linkOne.' '.$linkTwo;
    }
    

    在你的 CGridView 中:

    'columns'=>array(
            'labelOne',
            'labelTwo',
            array(
                'type' => 'raw',
                'header' => 'Manage',
                'value' => '$data->getMyValue()',
                ),
    
        ),
    

    或者,您可以使用CButtonColumn 中的visible 属性:

    array(
          'class'=>'CButtonColumn',
          'template'=>'{publish}{viewPublish}',
          'buttons'=>array(
              'publish'=>array(
                 //'type'=>'raw',
                 'label'=>'Publish',
                 'visible' => '$data->content_type != "1"',
                 'icon'=>'ok',
                 'url'=>'Yii::app()->createUrl("/admin/contentToPublish/publish")',
               ),
              'viewPublish'=>array(
                 //'type'=>'raw',
                 'label'=>'View & Publish',
                 'visible' => '$data->content_type == "1"',
                 'icon'=>'ok',
                 'url'=>'Yii::app()->createUrl("/admin/contentToPublish/publish")',
               ),
           ),
    ),
    

    希望有帮助:)

    【讨论】:

    • 那行不通。我认为你的可见代码不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    相关资源
    最近更新 更多