выводит записи уже выведенные по 2 кругу почему? у меня в данный момент есть 2 записи, но мне выводит 4 записи
use yii\helpers\Html;
use yii\widgets\ListView;
/* @var $this yii\web\View */
/* @var $searchModel app\models\Category3Search */
/* @var $dataProvider yii\data\ActiveDataProvider */
$this->title = 'Category3s';
$this->params['breadcrumbs'][] = $this->title;
?>
<h1><?= Html::encode($this->title) ?></h1>
<p>
<?= Html::a('Create Category3', ['create'], ['class' => 'btn btn-success']) ?>
</p>
<?=
ListView::widget([
'dataProvider' => $dataProvider,
'options' => [
'tag' => 'div',
'class' => 'list-wrapper',
'id' => 'list-wrapper',
],
'layout' => "{pager}\n{items}\n{summary}",
'itemView' => function ($model, $key, $index, $widget) {
return $this->render('_list_item',['model' => $model]);
// or just do some echo
// return $model->title . ' posted by ' . $model->author;
},
'itemOptions' => [
'tag' => true,
],
'pager' => [
'firstPageLabel' => 'first',
'lastPageLabel' => 'last',
'nextPageLabel' => 'next',
'prevPageLabel' => 'previous',
'maxButtonCount' => 3,
],
]);
?>
<?php
// _list_item.php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<?php foreach (\app\models\Category3::find()->all() as $category3) { ?>
<?php if ($category3['status'] != 0): ?>
<div style=" min-height: 209px; width: 764px;">
<tr>
<td>
<a href="<?= \yii\helpers\Url::to(['/category3/view3', 'id'
=> $category3['id']]) ?>">
<span><?= $i ?></span><?= $category3['image'] ?></a>
</td>
<td >
<a href="<?= \yii\helpers\Url::to(['/category3/view', 'id'
=> $category3['id']]) ?>">
<span><?= $i ?></span><?= $category3['' . Yii::$app->language] ?></a>
</div>
<br>
<br>
<br>
</td>
</tr>
</div>
<?php endif; ?>
Если не обращать внимание на ошибки в логике, структуре, то:
Вы явно не понимаете принцип работы ListView. Давайте разберем подробней:
В качестве контента для ListView берется объект DataProvider: 'dataProvider' => $dataProvider
, далее вы задаете выводить каждый элемент DataProvider через шаблон _list_item
:
'itemView' => function ($model, $key, $index, $widget) {
return $this->render('_list_item',['model' => $model]);
// or just do some echo
// return $model->title . ' posted by ' . $model->author;
},
При этом шаблон _list_item пользуется у Вас своей логикой, игнорируя то, что ему передает ListView. ListView передает в шаблон _list_item 1 элемент DataProvider в виде модели $model
, и именно эти данные нужно выводить в шаблоне, а не те, что Вам захотелось. На данный момент в Вашем коде вообще не нужно использовать ListView, а сразу генерировать шаблон _list_item, причем не передавая ему никакие данные. Чтобы все работало, как надо, _list_item должен выглядеть следующим образом:
<?php
// _list_item.php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<div style=" min-height: 209px; width: 764px;">
<tr>
<td>
<a href="<?= \yii\helpers\Url::to(['/category3/view3', 'id'
=> $model->id]) ?>">
<span><?= $index ?></span><?= $model->image ?></a>
</td>
</tr>
</div>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите, каким образом мне передать все значения из формы в liqpayЕсли можно с примером
Доброго времени суток, собственно ajax запрос просто редиректит на урл, который я ему указываю(index/add), а должен возвращать в консоль строку
Как спарсить цену товара с aliexpress, чтобы можно было вывести в echo?