Проблема с URL: не передается параметр /a[b]/1

Всем добрый день!

Столкнулся с такой проблемой, при передачи масива методом GET не передается параметр (при использовании ‘urlFormat’=>‘path’).

Так работает


http://yii/object/search?a[b]=abc

А так нет


http://yii/object/search/a[b]/abc

:unsure:

Спасибо за внимание!

Добро пожаловать на форум :)

Имхо, нужно указать экшн:


http://yii/object/search/index/a[b]/abc

Спасибо! Но увы не помогло :unsure: т.к. search это экшн контролера object.

Расскажу, откуда вообще взялась такая проблема.

Есть сложная форма поиска которая передается POST-ом, но когда я прикрутил пейджер (CPagination/CLinkPager) к выдаче, оказалось что он сохраняет и передает параметры только GET-ом. Пришлось поставить в форме GET, и она заработала нормально (т.к. он передает "?a[b]=abc"), а вот пейджер так не заработал, он передает "/a[b]/abc/page/2".

Похоже в API об этом ничего не сказано. Как делаю я - после самбита формы сериализую весь массив с параметрами поиска и заношу в сессию или в бд (даже эффективнее). Затем при выводе определенной страницы использую эти данные. И урлы короче, и относительно безопаснее.

UPD: В сессии итак все сериализуется, поэтому сорри за опечатку.

Спасибо! Так и сделаю, чтобы огород не городить :))

да и в CSort::link() - такаяже шляпа.

я недавно постил об этом issue в багрепорт - http://code.google.com/p/yii/issues/detail?id=526&can=1

qiang добавил для CPagination и CSort параметр CPagination::params - в который можно записать параметры, которые он будет передавать GETом.

Энивей так как советует сделать Darmen более изящно.