'list-view']; /** * Renders all data models. * @return string the rendering result */ public function renderItems() { $models = $this->dataProvider->getModels(); $keys = $this->dataProvider->getKeys(); $rows = []; foreach (array_values($models) as $index => $model) { $rows[] = $this->renderItem($model, $keys[$index], $index); } return implode($this->separator, $rows); } /** * Renders a single data model. * @param mixed $model the data model to be rendered * @param mixed $key the key value associated with the data model * @param integer $index the zero-based index of the data model in the model array returned by [[dataProvider]]. * @return string the rendering result */ public function renderItem($model, $key, $index) { if ($this->itemView === null) { $content = $key; } elseif (is_string($this->itemView)) { $content = $this->getView()->render($this->itemView, array_merge([ 'model' => $model, 'key' => $key, 'index' => $index, 'widget' => $this, ], $this->viewParams)); } else { $content = call_user_func($this->itemView, $model, $key, $index, $this); } return $content; } }