2012-03-23 114 views
3

我使用框架YII。我將在GRID的列表中鏈接電子郵件。我添加了這個:CLinkColumn和篩選器

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

這工作正常,但現在我不hava列過濾器。 CLinkColumns不具有方法過濾器。我怎樣才能使鏈接mailto:和使用過濾器呢?

回答

-3

給它一個鏡頭是這樣 -

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

您也可以嘗試這樣的事:

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

可能是很好地注意到,「類型」 =>「原始」需要,否則將顯示爲文本而不是超鏈接。 – Sander 2014-12-18 15:02:37

0

不能使用的過濾器與CLinkColumn。


的Yii的開發者討論加入'name'CLinkColumn這裏:https://github.com/yiisoft/yii/pull/970

他們決定攻擊:

...沒有必要爲 「複雜」[CLinkColumn]進一步爲將只是代碼或「黑客」的重複以解決問題...

samdark說:

CLinkColumn將在那裏僅供簡單使用。如果您需要更多選擇,請考慮使用價值。

這是他們的推薦替代:

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