CLinkColumn和过滤器

时间:2012-03-23 11:42:06

标签: php yii

我使用框架YII。我将从GRID链接我的列表中的电子邮件。我补充说:

array(
    'class'=>'CLinkColumn',
    'header'=>'e-mail',
    'labelExpression'=>'$data->email',
    'urlExpression'=>'"mailto:".$data->email',
),

这工作正常,但现在我没有hava列过滤器。 CLinkColumns没有方法过滤器。如何制作链接mailto:并使用过滤器?

3 个答案:

答案 0 :(得分:7)

你也可以尝试这样的事情:

array(
   'name' => 'email',
   'header' => 'e-mail',
   'type' => 'raw',
   'value' => 'CHtml::link($data->email,"mailto:".$data->email)'
),

答案 1 :(得分:0)

您不能将过滤器与CLinkColumn一起使用。


Yii开发人员讨论了在'name'添加CLinkColumnhttps://github.com/yiisoft/yii/pull/970

他们决定反对:

  

...没有必要进一步“复杂化”[CLinkColumn],因为这只是代码重复或“黑客”来解决问题......

samdark说:

  

CLinkColumn仅供简单使用。如果您需要更多选项,请考虑使用值。

这是他们推荐的替代选择:

array(
  'name' => 'field_name',
  'type' => 'raw',
  'value' => 'CHtml::link($data->field_name,$data->field_name)'
),

答案 2 :(得分:-3)

给它一个像这样的镜头 -

array(
  'class'=>'CLinkColumn',
  'header'=>'e-mail',
  'labelExpression'=>'$data["email"]',
  'urlExpression'=>'"mailto:".$data["email"]',
),