yii2
2017-12-30 33 views 1 likes 
1

내가보기 파일의 맨 위에 다음과 같은 배열 한 :yii2 dataprovider에서 사용자 정의 배열을 사용하는 방법 gridView?

[ 
    'label' => 'Status', 
    'format' => 'raw', 
    'value' => function ($model, $order_status) { 
     return Html::a("<div class='col-sm-8 progress' style='padding: 0px; height: 10px;'> 
     <div class='progress-bar ".$model->status."'></div> 
     </div><label class='col-sm-4'>".$order_status[$model->status]."</label>", null); 
    }, 
    'headerOptions' => ['style' => 'text-align: center;'], 
    'contentOptions' => ['style' => 'width: 300px;'] 
] 
: 나는 다음과 같이하는 dataProvider 테이블의 열 중 하나의 내부에 그것을 사용하는 나중에 페이지

$order_status = array(
    'nocourier' => 'در حال جستجوی پیک', 
    'accepted' => 'پیک تعیین شد', 
    'picking' => 'در حال دریافت مرسوله', 
    'delivered' => 'تحویل داده شد' 
); 

그리고 원하는

하지만 빈 라벨이 표시됩니다. 내가 뭘 놓치고 있니?

답변

2

는 익명 함수의 예에 배열의 내용을 통과 당신은 use을 필요로 할 수있다 :

'value' => function ($model) use ($order_status){ 
    return Html::a("<div class='col-sm-8 progress' style='padding: 0px; height: 10px;'> 
     <div class='progress-bar ".$model->status."'></div> 
    </div><label class='col-sm-4'>".$order_status[$model->status]."</label>", null); 
    }, 
+0

방금 ​​시도해 보았습니다. '알 수없는 속성 가져 오기 : admin \ models \ Order :: nocourier' 주문 주문 모델에 외부 배열 에서처럼'nocourier '이 없습니다. – goseo

+0

코드에서 $ model-> nocourier에 액세스 할 수 없지만 $ order_status [$ model-> status]에 오류가있는 코드와 관련이없는 것 같습니다 .. c – scaisEdge

+0

'$ model-> status'를 클래스의 부모 div 및 작동합니다. – goseo

0

내가이 언어를 잘 모릅니다하지만 난 할 수 자체가 잘못 한 것. $ order_status를 포함하는 함수를 만듭니다. 당신이 가치를 호출 할 때 그래서 당신은 내가 다른 사람도 뭔가를해야만위한 $ ORDER_STATUS 매개 변수를 부를 것이다 $ ORDER_STATUS

Value($model , $order_status) for it to work. 

에 통과해야합니다.

+0

감사합니다. Alen하지만 그게 제가 시도한 첫 번째 것입니다. 당신은 질문에서 볼 수 있습니다! – goseo

 관련 문제

  • 관련 문제 없음^_^