ListView widget - номер выводимой записи

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

ListView widget - номер выводимой записи

Сообщение alex_rus »

Добрый день!
Есть список:

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

ListView::widget(
                    [
                        'dataProvider' => $listDataProvider,
                        'options'      => [
                            'tag'   => 'div',
                            'class' => 'list-wrapper',
                            'id'    => 'list-wrapper',
                        ],
                        'layout'       => "{items}\n<noindex><div class='text-center'>{pager}</div></noindex>",
                        'itemView'     => function ($model, $key, $index, $widget) {
                            return $this->render('_list_item', ['model' => $model]);
                        },
                        'pager'        => [
                            'firstPageLabel' => 'Первая',
                            'lastPageLabel'  => 'Последняя',
                            'prevPageLabel'  => 'Предыдущая',
                            'nextPageLabel'  => 'Следующая',
                            'maxButtonCount' => 10,
                        ],
                    ]
                );
                ?>
Можно ли как то в itemView получить порядковый номер выводимой записи в последовательности?
alex_rus
Сообщения: 53
Зарегистрирован: 2016.10.30, 12:14

Re: ListView widget - номер выводимой записи

Сообщение alex_rus »

Но index у меня выводит последовательность только в рамках одной странице. Если переходу на следующую, последовательность строится опять с нуля.
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: ListView widget - номер выводимой записи

Сообщение rak »

alex_rus писал(а): 2017.01.11, 19:39 Но index у меня выводит последовательность только в рамках одной странице. Если переходу на следующую, последовательность строится опять с нуля.

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

    $pagination = $widget->dataProvider->pagination;
    $currentPage = $pagination->page;
    $pageSize = $pagination->pageSize;
Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: ListView widget - номер выводимой записи

Сообщение Onotole »

alex_rus писал(а): 2017.01.11, 19:39 Но index у меня выводит последовательность только в рамках одной странице. Если переходу на следующую, последовательность строится опять с нуля.
Получать пагинатором
Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: ListView widget - номер выводимой записи

Сообщение Onotole »

rak писал(а): 2017.01.11, 19:58
alex_rus писал(а): 2017.01.11, 19:39 Но index у меня выводит последовательность только в рамках одной странице. Если переходу на следующую, последовательность строится опять с нуля.

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

    $pagination = $widget->dataProvider->pagination;
    $currentPage = $pagination->page;
    $pageSize = $pagination->pageSize;
Опередил
asisdes
Сообщения: 202
Зарегистрирован: 2013.10.03, 15:54

Re: ListView widget - номер выводимой записи

Сообщение asisdes »

Я понимаю тема старая, но можете мне подсказать как с пагинатором связать то?
в своем view вывожу

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

echo ListView::widget([
    'dataProvider' => $dataProvider,
        'itemView' => '_item',
         'layout' => "{sorter}\n{summary}\n{items}\n{pager}",
         'sorter' => [
             'attributes' => ['address'],
             'options' => [
                 'itemOptions' => ['class' => 'sorter'], // как тут добавить "active" для текущего? ("sorter active")
             ]],
         'pager' => ['pagination' => $dataProvider->setPagination(['pageSize' => 2])],
    ]);
и сделал шаблон записи

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

<div class="border-card">
    <div class="card-type-icon with-border">
        <?php
            echo $index+1;
        ?></div>
    <div class="content-wrapper">
        <div class="label-group fixed">
            <p class="title"><?= Html::encode($model->address) ?></p>
            <p class="caption">адрес</p>
        </div>
        <div class="min-gap"></div>
        <div class="label-group">
            <p class="title"><?= HtmlPurifier::process($model->cityColumn->city) ?></p>
            <p class="caption">город</p>
index есть, но как говорится на одной страницы он начинается с 0, а за счет пагинации мы можем рассчитать индексы,
только я до петрить не могу, как мне до этих currentPage и currentSize достучаться. Буду благодарен если подскажите.
Изображение
Ответить