Почему listview искажает ссылки во вьюхе?

есть такой код во вьюхе

<li><a href="site/change-sort/?sort=showAll">показать все</a></li>


он используется на странице вывода списка с listview.

Все работает хорошо с такой конфигурацией listview:

echo ListView::widget([
        'dataProvider' => $listDataProvider,
        'itemView' => $elView,

        'options' => [
            'tag' => 'div',
            'class' => 'postslist',
            'id' => 'post-list',
        ],

        'layout' => "{items}",

        'itemOptions' => [
            'tag' => 'div',
            'class' => 'post',
        ],

            'emptyText' => 'Ничего не найдено..',

            'pager' => [
                'firstPageLabel' => 'Первая',
                'lastPageLabel' => 'Последняя',
                'nextPageLabel' => 'Следующая',
                'prevPageLabel' => 'Предыдущая',
                'maxButtonCount' => 10,
            ],

    ]);


но если добавить пэйджер в лэйаут вот так:

echo ListView::widget([
        'dataProvider' => $listDataProvider,
        'itemView' => $elView,

        'options' => [
            'tag' => 'div',
            'class' => 'postsslist',
            'id' => 'post-list',
        ],

        'layout' => "{items}\n{pager}",

        'itemOptions' => [
            'tag' => 'div',
            'class' => 'post',
        ],

            'emptyText' => 'Ничего не найдено..',

            'pager' => [
                'firstPageLabel' => 'Первая',
                'lastPageLabel' => 'Последняя',
                'nextPageLabel' => 'Следующая',
                'prevPageLabel' => 'Предыдущая',
                'maxButtonCount' => 10,
            ],

    ]);

то, при переходи на вторую страницу пейджера (урл вот такой становится "domen.com/site/index?page=2&per-page=25")

вместо такой ссылки во вьюхе

<li><a href="site/change-sort/?sort=showAll">показать все</a></li>


получается вот такая

<li><a href="site/site/change-sort/?sort=showAll">показать все</a></li>


почему такое происходит? Код во вью один и тот же, поэтому делаю вывод что listview как-то на это влияет...
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
slo_nik
@slo_nik Куратор тега Yii
Добрый день.
Вы именно так прописываете ссылку в представлении?
<li><a href="site/change-sort/?sort=showAll">показать все</a></li>

Если так, то используйте helpers-ы, которые есть в yii2, не ленитесь писать их. При использовании helpers-ов избежите многих проблем.
Или так, а на выходе получаете то, что показали?
Html::a('показать всё', ['site/change-sort', 'sort' => 'showAll');

И дальше надо смотреть настройки Вашего urlManager().
Так же учитывайте слеш в адресе
['site/change-sotr']
и
['/site/change-sotr']
будут вести себя по разному.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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