Задать вопрос

Как вывести последние новости с разным размером картинок?

Доброго времени суток, народ, у меня вопрос?
Судя из названия можно уже понять
Я на главной храню 5 записей, одна из записей большая картинка, описание и еще пару плюшек. Рядом с ней 4 остальных записи.
Я в коде делаю такою дичь
$ext = extrime::find()->select('id, title, excerpt, mini_img, id_category, id_user')->limit(5)->all();
$ext_one = extrime::find()->select('id, title, excerpt, mini_img mid_category, id_user')->limit(1)->all();

ТОбишь для каждого блока вызваю отдельный пост. Но потом тот пост что заглавный, дублируется в маленьких блоках...
Вот картинка 59d3ae884e01c161623767.png
Вот код вида
59d3aed79ee7c576224352.png
Как сделать все в одном цикле, а не разбивать на две переменные из которых после достаю информацию... p.s(практикуюсь с yii)
  • Вопрос задан
  • 167 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@kucheriavij
Зачем же так дико делать.
В запросе делаете так:
$ext = extrime::find()->orderBy(['dtae' => SORT_DESC])->all();

Дальше провайдер:
$provider = new ActiveDataProvider([
            'query' => $ext,
            'pagination' => [
                'pageSize' => 10,
            ],
        ]);

Во вьюхе:
<?= \yii\widgets\ListView::widget([
            'dataProvider' => $provider,
            'id' => 'restaurants-news',
            'itemOptions' => ['class' => 'col-12 restaurants-news__item'],
            'itemView' => 'partials/_view',
        ]); ?>

И во вьюхе листвью:
<?php if ($index === 1): ?>
// тут верстка для первой записи
<?php else: ?>
// тут для остальных
<?php endif; ?>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
kawabanga
@kawabanga
1) названия классов принято писать с большой буквы. extrime -> Extrime
2) При запросе ->all() без указания индексов, вы получаете массив, подобный
$models = [
0=>'Model1',
1=>'Model2'
]

Что значит, если в массиве что-то есть, то к первому элементу вы можете получить доступ через $ext[0] .
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы