столкнулся с непонятной для меня ситуацией = движок реагирует на очередность расположения правил формирования 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
это так и должно быть или я туплю?
как проверял =
1) в методе контроллера сделал так =
print_r(Yii::app()->controller->actionParams)
2) в представлении создал рядом две ссылки =
<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 вообще - то все работает корректно (только все виде строки запроса - чего крайне не хотелось бы)