всем привет
столкнулся с непонятной для меня ситуацией = движок реагирует на очередность расположения правил формирования URL при распознавании ключей GET-параметров…
то есть вот эти две очередности правил =
'/<sect:[a-z0-9\_\-]+>/<subsect:[a-z0-9\_\-]+>' => 'site/handler',
'/<sect:[a-z0-9\_\-]+>/<page:[a-z0-9\_\-]+>' => 'site/handler',
и
'/<sect:[a-z0-9\_\-]+>/<page:[a-z0-9\_\-]+>' => 'site/handler',
'/<sect:[a-z0-9\_\-]+>/<subsect:[a-z0-9\_\-]+>' => 'site/handler',
по разному трактуют второй ключ подаваемый в массиве для createUrl
в первом случае вторым ключем всегда будет subsect - даже если в createURL подать page
а во втором случае вторым ключем всегда будет page - даже если в createURL подать subsect
это так и должно быть или я туплю?
как проверял =
- в методе контроллера сделал так =
print_r(Yii::app()->controller->actionParams)
- в представлении создал рядом две ссылки =
<a href="<?php echo Yii::app()->createURL(
'site/handler',array(
'sect'=>$_GET['sect'],'subsect'=>'community',)); ?>">
второй ключ = sect
</a>
<br>
<a href="<?php echo Yii::app()->createURL(
'site/handler',array(
'sect'=>$_GET['sect'],'page'=>'community',)); ?>">
второй ключ = page
</a>
клики и по первой и по второй ссылке привели к отображению =
Array
(
[sect] => character
[page] => community
)
p.s. с другой стороны - если убрать правила для URL вообще - то все работает корректно (только все виде строки запроса - чего крайне не хотелось бы)