2014-04-10 9 views
41

,이 코드가 있습니다.URL은 yii2있는 gridview에서

/학계 새로운// 관리/사이트/인덱스

URL 잘 작동 고급하지만 어떻게 링크에 대한 텍스트를 설정할 수 있습니까?

+0

당신이 올바른으로 답변 중 하나를 수용 할 수 있습니다 ...? ;) – webeno

답변

52

사용 'format' => 'raw' 대신 시도 'format' => 'url'.

+0

만약 당신이 그것과 함께 어떤 데이터를 보내고 싶다면 정수를 말할 수 있습니다 .. 어떻게 컨트롤러에서 그것을 검색하겠습니까 ?? –

+1

[ \t \t \t \t '속성이'=> 'invoice_id' \t \t \t \t '포맷'=> '원료' \t \t \t \t '값'=> 함수 ($ 모델) { \t \t \t \t \t 반환 html로 :: A ($ 모델 -> invoice_id, [ \t \t \t \t \t \t '송장 /보기', \t \t \t \t \t \t 'ID'=> $ 모델 -> \t \t \t \t \t] [ '타겟'invoice_id => '_blank']); 수익을 시도> 오류 - \t \t \t \t}, \t \t \t, –

22

나는 yummy의 제공자 인 Samdark로부터 해결책을 얻었다. 형식을 사용할 필요 => '원시': HTML :: 인코딩() ecape에 XSS를 사용하는

...  
'format' => 'raw', 
    'value'=>function ($data) { 
     return Html::a(Html::encode("View"),'site/index'); 
    }, 

필요가

7

솔루션 :

<?= GridView::widget([ 
     'dataProvider' => $dataProvider, 
     'filterModel' => $searchModel, 
     'columns' => [ 
     ['class' => 'yii\grid\SerialColumn'], 
      [ 
      'label'=>'bla', 
      'format' => 'raw', 
      'value'=>function ($data) { 
         return Html::a(['site/index']); 
         }, 
      ], 
    ['class' => 'yii\grid\ActionColumn'], 
    ], 
]); ?> 
+0

일부 intentation 정말 답 – FrederikNS

+1

반환 html로 :: A ([ '사이트/인덱스'])의 가독성을 도움이 될 것이다는 yii2에서 작동하지 않습니다 Html :: a ('링크', '사이트/색인'); – Viktors

1

내가 해결책을 찾은 것 같아 :

코드 :

'value'=>function ($data) { 
     return Html::url('site/index'); 
    }, 

가 약간 수정해야합니다. '국가'배열에 필드 이름을 가정 해 봅시다, 다음 코드는 다음과 같이해야한다 :

'value'=>function ($data) { 
     return Html::a($data['country'], ['site/index']); 
    }, 

그래서 대신 html로 :: URL을 나는 HTML을 :: 로 하이퍼 링크의 및 부가가치를 사용 $ data [ 'country']. 희망이 도움이됩니다.

2

사용 원시 형식

<?php echo GridView::widget([ 
    'dataProvider' => $dataProvider, 
    'filterModel' => $searchModel, 
    'columns' => [ 
    ['class' => 'yii\grid\SerialColumn'], 
    [ 
      'label'=>'url', 
      'format' => 'raw', 
     'value'=>function ($data) { 
      return Html::a('there is your label',['site/index']); 
     }, 
    ], 
    ['class' => 'yii\grid\ActionColumn'], 
], 
]); ?>