naigo 2011-08-03 13:32:34 3656次浏览 7条回复 0 0 0

zii.widgets.grid.CGridView的widget里,两个自定义按钮:

array(
  'header'=>'禁 用',
  'class'=>'CButtonColumn',
  'template'=>'{suspend}',
  'buttons' => array(
    'suspend'=>array(
      'imageUrl' => Yii::app()->request->baseUrl.'/images/admin-ui/suspend.jpg',
      'url' => 'Yii::app()->createURL("p/operator/suspend",array("id"=>$data->id))' 
    ),
  ),
),
array(
  'header'=>'启 用',
  'class'=>'CButtonColumn',
  'template'=>'{suspend}',
  'buttons' => array(
    'suspend'=>array(
      'imageUrl' => Yii::app()->request->baseUrl.'/images/admin-ui/enabled.jpg',
      'url' => 'Yii::app()->createURL("p/operator/enabled",array("id"=>$data->id))' 
    ),
  ),
),

以前做过一个'value'=>'$data->active==0 ? "未验证" : ""',来显示是否验证的,但是按钮上加不了三目运算符,各位前辈指点下,怎么才能根据字段值来显示按钮呢?

  • 回复于 2011-08-03 13:54 举报

    试过把imageUrl加上三目运算符:

    'imageUrl' => '$data->suspend==0 ?"'.Yii::app()->request->baseUrl.'/images/admin-ui/suspend.jpg":'.Yii::app()->request->baseUrl.'/images/admin-ui/enabled.jpg',
    

    结果图片挂了,查看源码发现:

    <img src="$data-&gt;suspend==0 ?&quot;/admin-main/images/admin-ui/suspend.jpg&quot;:/admin-main/images/admin-ui/enabled.jpg" alt="suspend">
    

    三目运算符也上去了……

  • 回复于 2011-08-03 14:39 举报

    应该可以用三目运算的。

  • 回复于 2011-08-03 14:50 举报

    有个visible属性

  • 回复于 2011-08-03 14:51 举报

    ulpyuxa前辈,我试过了做三目运算,但是失败了整个的三目运算都跑上去了。有木有别的方法呢?

  • 回复于 2011-08-03 14:51 举报

    如:

    'visible' => '$data->id!=Yii::app()->user->id',
    
  • 回复于 2011-08-03 14:53 举报

    谢谢skye,我去试试~~~

  • 回复于 2011-08-03 15:25 举报

    skye前辈~用那个报错啊,我以为是三目运算写错了,但是把visible定成false(像下面那样)还是报错:call_user_func_array() expects parameter 1 to be a valid callback, no array or string given

    'buttons' => array(
      'suspend'=>array(
        'visible' =>false,
        'imageUrl' => Yii::app()->request->baseUrl.'/images/admin-ui/suspend.jpg',
        'url' => 'Yii::app()->createURL("p/operator/suspend",array("id"=>$data->id))' 
      ),
    )
    

    true或者false都会报那个错,0或者1也是,但是用NULL不会。我继续费解中……

您需要登录后才可以回复。登录 | 立即注册