Доброго времени суток, форумчане! Давно имею проблемку, которую до сих пор не могу решить.
В CGridView без проблем работает фильтрация и сортировка по отдельности. Т.е. когда либо то, либо другое делаю. Но когда фильтрую, а затем делаю сортировку, то после этого фильтрация ничего не меняет.
Примеры:
1) когда использую только фильтр по полю `word`, урл получается такой:
http:// site/admin/anchor?Anchor[id]=&Anchor[word]=март&Anchor[form]=&Anchor_page=1
2) когда использую сортировку по полю `form`, урл такой:
http:// site/admin/anchor/index/Anchor_sort/form
3) делаю фильтрацию по полю `word`, затем сортировку по полю `form`, урл выходит такой:
http:// site/admin/anchor/index/Anchor[id]//Anchor[word]/март/Anchor[form]//Anchor_page/1/Anchor_sort/form
4) делаю фильтрацию по полю `word`, затем сортировку по полю `form`, после этого фильтрую `id`:
http:// size/admin/anchor/index/Anchor[id]//Anchor[word]/март/Anchor[form]//Anchor_page/1/Anchor_sort/form?Anchor[id]=>20&Anchor[word]=март&Anchor[form]=&Anchor_page=1
Первые 3 примера работают без проблем. Но вот 4 - не работает фильтр по id. Причина понятная - в урл 2 раза перечисляются поля: сначала через разделитель - слеш, а затем после знака вопроса, как GET параметры.
Если внимательно посмотреть на урлы, которые создаются после каждого действия в примерах выше, то можно увидеть, что фильтр использует GET параметры, а сортировка - использует слеши.
Не могу понять, почему так и как это исправить? Хочется привести перечисления всех полей фильтрации, сортировки и пейджинга к GET формату.
CGridView сортировка и фильтрация
- Elfer
- Сообщения: 132
- Зарегистрирован: 2012.06.07, 16:09
- Откуда: Беларусь, Лида
- Контактная информация:
CGridView сортировка и фильтрация
Приколы: юмор, анекдоты - Zasmeshi.Ru сайт на Yii, великие возможности фреймворка.
- Elfer
- Сообщения: 132
- Зарегистрирован: 2012.06.07, 16:09
- Откуда: Беларусь, Лида
- Контактная информация:
Re: CGridView сортировка и фильтрация
Вопрос решился, добавив правило rules для компонента urlManager в конфиг:
'admin/<controller>' => 'admin/<controller>/index'.
'admin/<controller>' => 'admin/<controller>/index'.
Приколы: юмор, анекдоты - Zasmeshi.Ru сайт на Yii, великие возможности фреймворка.