2013-12-06 2 views
3

У меня проблема с моим Yii urlManager. Я использую формат пути и хочу передать несколько переменных get. URL выглядит следующим образом:Yii UrlManager и несколько Получить параметры

/Yii/app/de/user/admin/id/5/test/hello 

мой .htaccess:

Options +FollowSymLinks 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteBase /Yii/app/ 
RewriteRule ^(.*)$ index.php?/$1 [QSA,L] 

Я попытался с urlManager, но она не работает со следующими правилами:

'rules' => array(
    '<language:\w+>/<controller:\w+>/<id:\d+>'=>'<controller>/view', 
    '<language:\w+>/<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>', 
    '<language:\w+>/<controller:\w+>/<action:\w+>'=>'<controller>/<action>', 
) 

$ _GET должен выглядеть следующим образом:

array(3) { 
    ["/de/user/admin"]=> string(0) "" 
    ["id"]=> string(1) "5" 
    ["test"]=> string(5) "hello" 
    ["language"]=> string(2) "de" 
} 

Он работает для переменной nummber параметров получения. Например:

Если вы сортируете по CGridView с помощью ajax, то nummber параметров отличается.

Благодаря

ответ

2

Вам не нужен менеджер URL-адрес для этого.

Ваши переменные будут переданы акции, как:

www.yourdomain.com/yourController/yourAction?id=5&test=hello&language=de 

и это ваша функция действия в yourController

public function yourAction($id, $test, $language){ 
    //$id is 5 
    //$test is 'hello' 
    //$language is 'de' 
} 
+0

но что, если вы хотите, чтобы использовать URL менеджера для «приукрасить» URL. Я не хочу? и имена параметров и = в моем URL-адресе. Я хотел бы, чтобы URL-адрес выглядел следующим образом: www.yourdomain.com/yourController/yourAction/5/hello/de, и я хочу, чтобы диспетчер URL-адресов отображал URL-компоненты для параметров GET. – osullic

+0

Прошу прощения. Я слишком устал от этого, но вы можете задать новый вопрос и обратиться к этому. – Jurik

Смежные вопросы