выводиться по 2 записи

169
28 февраля 2018, 09:52

выводит записи уже выведенные по 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; ?>
Answer 1

Если не обращать внимание на ошибки в логике, структуре, то:

Вы явно не понимаете принцип работы 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>
READ ALSO
Кириллица в JSON

Кириллица в JSON

Из БД достаю данные:

208
передача значений input в liqpay

передача значений input в liqpay

Подскажите, каким образом мне передать все значения из формы в liqpayЕсли можно с примером

178
Ajax запрос редиректит на свой url

Ajax запрос редиректит на свой url

Доброго времени суток, собственно ajax запрос просто редиректит на урл, который я ему указываю(index/add), а должен возвращать в консоль строку

207
Как спарсить цену товара с aliexpress? [требует правки]

Как спарсить цену товара с aliexpress? [требует правки]

Как спарсить цену товара с aliexpress, чтобы можно было вывести в echo?

189