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'];

Tags: ,

2 Responses to “CakePHP: Poner el idioma en la URI”

  1. krusty999 Says:
    April 16th, 2008 at 7:20 am

    Muy util. Una pregunta en
    Router::connect(’/:language/:controller/:action/*’, array(), array(’language’ => ‘[a-z]{2}’));

    Para que es el array vacio en el segundo parámetro?

    Saludos.

  2. admin Says:
    April 16th, 2008 at 7:31 am

    Te seré sincero. Como puse en el artículo, esta información la saque de los foros de CakePHP en google. No dejó de ser un Copy/Paste de esa linea de código y tuve las mismas dudas que tu has expresado y por falta de tiempo y olvido no he buscado el por qué de ese array vacío.

    Saludos.

Leave a Reply