【问题标题】:Visibility of a button in cgridview based on the equality of two models fields基于两个模型字段相等的cgridview中按钮的可见性
【发布时间】:2014-05-29 14:27:58
【问题描述】:

我有这个数组来表示 YII 中 CGridView 小部件中按钮的数据。

array(
        'Button' =>
        array(
                'imageUrl'=>Yii::app()->request->baseUrl.'/images/image.png',
                'url'=>'Yii::app()->createUrl("controller/action", array("column"=>$data->column))',
                'visibile'=>'$visibile',
        ))

根据这个函数我需要 $visibile 是真还是假:

if (array_key_exists(0 , Table::model()->findAllByAttributes(array('column' => $model->column)))){
$visible = true;    
}
else {
$visibile = null;
}

其中 Table::model 与网格的模型不同。 如何根据此模型记录中的值与视图模型中的值相等来修改按钮的可见性?

希望我的问题很清楚,谢谢大家!

【问题讨论】:

    标签: yii visibility cgridview


    【解决方案1】:

    你可以在 Yii 中做到这一点

    array(
        'Button' =>
        array(
            'imageUrl'=>Yii::app()->request->baseUrl.'/images/image.png',
            'url'=>'Yii::app()->createUrl("controller/action", array("column"=>$data->column))',
            'visibile'=>function($index, $data) {
                // the logic, where $data is the model for that row
                // ...
    
                // return true(visible) or false(invisible)
            },
        ))
    

    【讨论】:

      【解决方案2】:

      以下可能对您有用:

      array(
          'Button' =>
          array(
                  'imageUrl'=>Yii::app()->request->baseUrl.'/images/image.png',
                  'url'=>'Yii::app()->createUrl("controller/action", array("column"=>$data->column))',
                  'visibile'=>"return array_key_exists(0 , Table::model()->findAllByAttributes(array('column' => $model->column)));",
          ))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-13
        • 2016-09-07
        • 2013-05-28
        • 2016-01-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多