generateNotes(); } protected function generateNotes(){ $s = ""; $s .= Html::beginTag("div", ['class' => 'row', 'style' => 'margin-top: 6px;']); $s .= Html::beginTag("div", ['class' => 'col-md-4']); $s .= $this->generateBanknoteGrid( [ 'banknote_5_ft','banknote_10_ft','banknote_20_ft','banknote_50_ft' ]); $s .= Html::endTag("div"); $s .= Html::beginTag("div", ['class' => 'col-md-4']); $s .= $this->generateBanknoteGrid( [ 'banknote_100_ft','banknote_200_ft','banknote_500_ft','banknote_1000_ft' ]); $s .= Html::endTag("div"); $s .= Html::beginTag("div", ['class' => 'col-md-4']); $s .= $this->generateBanknoteGrid( [ 'banknote_2000_ft','banknote_5000_ft','banknote_10000_ft','banknote_20000_ft' ]); $s .= Html::endTag("div"); $s .= Html::endTag("div"); return $s; } protected function generateBanknoteGrid($attributes){ return $this->generateBanknoteColumn( $this->mkColumnData($attributes)); } protected function mkColumnData( $attributes){ $values = AccountState::banknoteValues(); $items = []; foreach ($attributes as $note){ $value = $values[$note]; $count = $this->model->$note; if ( !isset($count) || empty($count)){ $count = 0; } $value = \Yii::$app->formatter->asInteger($value); $item = [ 'note' => $value . " Ft", 'count' => $count ]; $items[] = $item; } return $items; } protected function generateBanknoteColumn($data){ $dp = new ArrayDataProvider( [ 'allModels' => $data, 'sort' => false, 'pagination' => false ] ); $s = GridView::widget([ 'dataProvider' => $dp, 'layout' => '{items}', 'options' => ['class' => 'grid-view notes-view'], 'columns' =>[ [ 'contentOptions' => ['class' => 'note-name'], 'value' => 'note', 'label' => 'CĂ­mlet' ], [ 'value' => 'count', 'label' => 'Db' ], ] ]); return $s; } }