@EvgMul

Как в dataProvider сгенерировать ссылку на сортировку только ASC или DESC?

Здравствуйте. подскажите пожалуйста, могу ли я средствами dataProvider сгенерировать 2 ссылки, которые буду сортировать только либо в одну либо в другую сторону. Сейчас это выглядит так:
$dataProvider->sort->link('id');
И работает по принципу один раз нажал - ASC, второй раз нажал - DESC.
Могу ли я как-то сделать, чтобы у меня было 2 ссылки, каждая из которых реализует сортировку только в одну сторону?
Заранее благодарен всем отозвавшимся.
  • Вопрос задан
  • 50 просмотров
Решения вопроса 2
slo_nik
@slo_nik Куратор тега Yii
Добрый вечер.
Я думаю, что так вряд ли получится.
Вам надо определить свой класс, создать свой сортировщик.
Возможно сделать так, наследовать yii\widgets\LinkSorter и переопределить его метод renderSortLinks(). По умолчанию генерируется ul, думаю, что можно переделать на ссылки.
Подключить свой класс сортировщика.
ListView::widget([
    'sorter' => [
        'class' => CustomLinkSorter::class,
    ],
Ответ написан
Комментировать
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
ActiveDataProvider использует объект Sort который в свою очередь имеет метод setAttributeOrders(). Так что можете попробовать получать ссылку, менять AttributeOrders и еще раз получать ссылку. Или правильнее но дольше - сделать свой объект Sort унаследовавшись от базового и так же с DataProvider, добавив свои методы.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы