Yii Framework Forum: Проблема С Роутерами - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Проблема С Роутерами Rate Topic: -----

#1 User is offline   Vovan 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 1
  • Joined: 24-January 13

Posted 05 February 2013 - 02:33 PM

Доброго времени суток.
Вот наткнулся на небольшую проблему с маршрутами, а именно:
Имеем роутеры в конфиге
'<language:(ru|uk|en)>/<module:\w+>/<controller:\w+>/<action:\w+>/*' => '<module>/<controller>/<action>',
'<language:(ru|uk|en)>/<module:\w+>/<controller:\w+>/<id:\d+>' => '<module>/<controller>/view',
'<language:(ru|uk|en)>/<module:\w+>/<controller:\w+>/*' => '<module>/<controller>',
'<language:(ru|uk|en)>/<module:\w+>/*' => '<module>',
'<language:(ru|uk|en)>/' => 'site/index',
'<language:(ru|uk|en)>/<action:(contact|login|logout)>/*' => 'site/<action>',
'<language:(ru|uk|en)>/<controller:\w+>/<id:\d+>' => '<controller>/view',
'<language:(ru|uk|en)>/<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<language:(ru|uk|en)>/<controller:\w+>/<action:\w+>/*' => '<controller>/<action>',

urlFormat равен path.
Так вот если построить урл вида http:://example.com/ru/site/test/param1/value1/param2/value2, то на выходе получается массив с параметрами
Array
(
    [language] => en
    [value1] => param2
    [value2] => 
    [param1] => 
)

то есть, как я понимаю, получается сработало первое правило
'<language:(ru|uk|en)>/<module:\w+>/<controller:\w+>/<action:\w+>/*' => '<module>/<controller>/<action>'

что привело к неправильному построению массива ключ = значения.
Вопрос состоит в том как, тогда правильно построить правила маршрутизации, чтобы можно было как и в приложении получить правильные параметры, так и в модуле.
При использовании маршрутов вида
'<language:(ru|uk|en)>/<module:(module_name1|module_name_2)/<controller:\w+>/<action:\w+>/*' => '<module>/<controller>/<action>'

все работает корректно. Но я не уверен что это правильный выход с данной ситуации.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users