Вывод данных в список

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
BikerLex
Сообщения: 97
Зарегистрирован: 2013.03.06, 12:12

Вывод данных в список

Сообщение BikerLex »

Буквально дня 3 как юзаю Yii2 и появилась куча вопросов.
Скажем в первой версии, если мне надо было например в index.php запихать данные в список, я перебирал датапробавдер циклом и загонял что нужно в список.
Например так:

Код: Выделить всё

<ul>
<?php
$models =$dataProvider->getData();
foreach($models as $model)
        {
            echo "<li>$model->title</li>";
        }
?>
</ul>
Во втором Yii метода getData() уже нет.

Ещё наткнулся в документации на такую вещь: http://www.yiiframework.com/doc-2.0/gui ... -html.html

Код: Выделить всё

<?= Html::ul($posts, ['item' => function($item, $index) {
    return Html::tag(
        'li',
        $this->render('post', ['item' => $item]),
        ['class' => 'post']
    );
}]) ?>
Если правильно понял, то этот код генерирует список и возвращает его во вьюху.
А как мне его использовать и где? Во вью или контроллере. Если в контроллере, то как потом во вью получить этот список и вывести. Если во вью, то как передать етому скрипту массив с данными и в какой вью он их потом рендерит?
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Вывод данных в список

Сообщение anton44eg »

1. теперь

Код: Выделить всё

DataProvider::getModels() 
https://github.com/yiisoft/yii2/blob/ma ... ce.php#L52
2. Там же эхо, так что во вьюхе, конечно
Аватара пользователя
BikerLex
Сообщения: 97
Зарегистрирован: 2013.03.06, 12:12

Re: Вывод данных в список

Сообщение BikerLex »

anton44eg писал(а):1. теперь

Код: Выделить всё

DataProvider::getModels()
Ну во вью дата провайдер - это переменная. Как я могу обратиться к ней как к классу?
В общем сделал так:

Код: Выделить всё

$models = $dataProvider->getModels();
foreach($models as $model){
    echo $model->title.'<br>';
} 
За метод getModels() спасибо, получил всё что было нужно. Осталось сделать из этого список.
Последний раз редактировалось BikerLex 2014.12.18, 18:13, всего редактировалось 1 раз.
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Вывод данных в список

Сообщение anton44eg »

BikerLex писал(а):
anton44eg писал(а):1. теперь

Код: Выделить всё

DataProvider::getModels()
Ну во вью дата провайдер - это переменная. Как я могу обратиться к ней как к классу?
как к классу нельзя, это просто стандартное вид указания названия метода
Ответить