CLinkColumn и фильтр - PullRequest
       4

CLinkColumn и фильтр

3 голосов
/ 23 марта 2012

Я пользуюсь фреймворком YII. Я сделаю ссылку для электронной почты в моем списке от GRID. Я добавил это:

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

это работает нормально, но теперь у меня нет фильтра колонок. CLinkColumns не имеет фильтра методов. Как я могу сделать ссылку mailto: и использовать фильтр для этого?

Ответы [ 3 ]

7 голосов
/ 24 марта 2012

Вы также можете попробовать что-то вроде этого:

array(
   'name' => 'email',
   'header' => 'e-mail',
   'type' => 'raw',
   'value' => 'CHtml::link($data->email,"mailto:".$data->email)'
),
0 голосов
/ 12 сентября 2013

Вы не можете использовать фильтр с 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)'
),
0 голосов
/ 23 марта 2012

сделайте вот такой выстрел -

array(
  'class'=>'CLinkColumn',
  'header'=>'e-mail',
  'labelExpression'=>'$data["email"]',
  'urlExpression'=>'"mailto:".$data["email"]',
),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...