Параметры в url

Здравствуйте.

Только начинаю разбираться в Yii, поэтому прошу строго несудить за, возможно, глупый вопрос.

А вопрос вот в чем. Существует ли возможность добавить параметры к текущей строке запроса?

То есть если где-то был вызван код

$this->createUrl("/test/show", array(‘a’=>‘11’)), то он сформирует урл вида

http://sitename/?a=/test/show&a=11 и вот мне бы хотелось к этому урлу добавить ещё параметры. Если сделать

$this->createUrl("/test/show", array(‘b’=>‘22’)), то урл становится

http://sitename/?a=/test/show&b=22, а не http://sitename/?a=/test/show&a=11&b=22 как бы мне хотелось.

Заранее благодарен.

А как же вы хотите, что в урле было два параметра с одинаковым именем?

нет, параметры с разными именами.

Да… наверное я непонятно написал. В общем мне нужено к текущим параметрам в урле добавить ещё какие-то. То есть в идеале хотелось бы получить массив $AAA GET-параметров текущего урала, а потом сделать

Yii::app()->urlManager->createUrl(’/test/show’, array_merge($AAA, array(‘add’=>‘add_value’)))

Проблема в том, что массив $AAA просто так не получить. А писать парсилку строки Yii::app()->request->queryString … можно

конечно, но по-моему всё проще должно решаться

Не совсем понятно что собственно надо, но может методы getParam(), getQuery(), getPost() CHttpRequest помогут.

У CHttpRequest есть метод

getQuery()

я удмаю он может помочь

getQuery требует передачи имени параметра и возвращает его значение.

Видимо придется делать foreach по GET с исключением элемента с ключом CUrlManager::routeVar. Тогда можно получить массив всех остальный параметров.

Всем спасибо за внимание.

Сам не пробовал

Возможно так получится


Yii::app()->urlManager->createUrl('/test/show', array('a[0]'=>'value0','a[1]'=>'value1'))

Я специально кук бук переводил, читайте http://dbhelp.ru/by-example-chtml/page/

А по поводу обработки текущих данных и с клейки, есть вариант использовать parse_str над текущим урлом (http://ua2.php.net/manual/en/function.parse-str.php) ну или обработку Yii::app()->request->queryString вынести в какую-то глоб.функцию

Да, спасибо. Я писал уже об этом. Про парсер queryString. Саздавая этот пост, я просто поверить не мог, что разработчики Yii (с его сверхмощной АПИ) не учили, что может понадобится “налету” модифицировать текущий урл. Ну хотя это же платформа, а не комбайн. Нужен парсер - пиши копонент. так что я всем доволен :)