這篇文章主要介紹了關於yii2 模板twig中使用GridView::widget ,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
yii架構twig模板中使用GridView::widget 需要這樣寫:
{{ grid_view_widget({ 'dataProvider': provider, 'columns': [ 'id', {'attribute' : 'create_user_id', 'label' : '使用者ID'}, {'attribute' : 'category_id','value':ticketCategory, 'label' : '問題分類'}, {'attribute' : 'language', 'value':languageAction, 'label' : '語言'}, //languageAction為需要單獨處理的資料,模板不支援PHP文法,需要從控制器返回 {'attribute' : 'support_user_id','value':supportUser, 'label' : '受理人'}, { 'attribute': 'create_time', 'format':['datetime', 'yyyy-MM-dd HH:mm:ss'], 'label': ' 建立時間', }, { 'attribute': 'update_time', 'format':['datetime', 'yyyy-MM-dd HH:mm:ss'], 'label': ' 更新時間', }, { 'attribute': 'response_time', 'value':responseTime, 'label': ' 回應時間(分)', }, {'label':'操作', 'value':actionFunction, 'format':'raw'}, ] }) }}
模板裡面不支付PHP寫法,比如language欄位value值資料庫存入標識,而前台頁面需要顯示對應表示的內容,可以在控制器層將資料處理好,以變數的方式發送到前端頁面:
$languageAction = function ($model) { switch ($model->language) { case Ticket::LANGUAGE_ZH : return $model->language = '中文'; case Ticket::LANGUAGE_EN : return $model->language = '英文'; case Ticket::LANGUAGE_OTHER : return $model->language = '其他'; } };return $this->controller->render('index',['provider' => $data,'languageAction' => $languageAction]);
以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!