Вопрос таков. Мультиязычный сайт с геотартегтингом. Имеетя URL вида ru/odessa/category/view и соотвутсвующая ему самая простая регулярка <language>/<city>/<controller>/<action>
Вопрос таков. Как сделать так чтобы один раз определить параметры language и city и каждый раз не прописывать их в роутенге. Чтобы они были доступны во всех контроллерах сразу. Чтобы один раз получить. Проверить на валидность и использовать
В классе components/Controller.php переопредели init() и createUrl()
public function init()
{
if(валидность language и city)
{
$this->language = '...';
$this->city = '...';
return parent::init();
}
throw new CHttpException(404,'...');
}
public function createUrl($route, $params)
{
return parent::createUrl($route, array(
'language' => $this->language,
'city' => $this->city,
) + $params);
}