07/02/2008

CakePHP: Poner el idioma en la URI

Buscando cómo poner el idioma en el que se está navegando la web como parte de la URI, he encontrado un hilo en el google groups de CakePHP dónde explica una manera de conseguirlo.

En nuestro archivo routes.php

Router::connect('/:language/:controller/:action/*', array(), array('language' => '[a-z]{2}'));

Luego en el controlador que queramos, preferiblemente en el app_controller, en el método beforeFilter podemos obtener ese valor de la URI, por si lo necesitamos, mediante:

$this->params['language'];