Saltar al contenido
Codifíca.me | Desarrollo web | Programación

Opencart URL para diferentes lenguajes

10 diciembre, 2014

En esta entrada vemos una modificación para poder tener urls diferentes para cada lenguaje o idioma que tengas instalado en tu tienda Opencart.

Es útil si quieres tener links hacia tu tienda en diferentes idiomas, ya que de otra manera no se podría acceder desde un link a las diferentes versiones de idioma de tu tienda online.

Cómo tener URLs diferentes para cada lenguaje

La modificación la podéis hacer en vQmod, ya que es realmente fácil. O si lo prefieres y no quieres instalar vQmod puedes modificar el siguiente archivo añadiendo las siguientes líneas.

Paso uno
Editamos el fichero catalog/controller/module/language.php

Sería algo así:

 
class ControllerModuleLanguage extends Controller {
	protected function index() {
    	if (isset($this->request->post['language_code'])) {

Antes del primer if añadimos el siguiente código:

 
if (isset($this->request->get['lang'])) {
 
    $this->session->data['language'] = $this->request->get['lang'];
 
    if (isset($_SERVER['HTTP_REFERER']) && (strpos($_SERVER['HTTP_REFERER'], $this->config->get('config_url')) !== false) ) {
 
        $this->redirect($_SERVER['HTTP_REFERER']);
 
    } else {
 
        $this->redirect($this->url->link('common/home'));
 
    }
 
} else  {

Quedaría así:

class ControllerModuleLanguage extends Controller {
	protected function index() {
         if (isset($this->request->get['lang'])) {
 
         $this->session->data['language'] = $this->request->get['lang'];
 
         if (isset($_SERVER['HTTP_REFERER']) && (strpos($_SERVER['HTTP_REFERER'], $this->config->get('config_url')) !== false) ) {
 
             $this->redirect($_SERVER['HTTP_REFERER']);
 
         } else {
 
             $this->redirect($this->url->link('common/home'));
 
         }
 
         } else {
 
         if (isset($this->request->post['language_code'])) {
          ....
          ....
         }  // no se os olvide cerrar el else

Y eso esto todo, con esto podemos entrar en nuestra web desde un link en el idioma que queramos y tengamos instalado.

tudominio.com/?lang=de
tudominio.com/?lang=en
tudominio.com/?lang=fr
tudominio.com/?lang=it
tudominio.com/?lang=ru
tudominio.com/?lang=ar
tudominio.com/?lang=zh
tudominio.com/?lang=jp
tudominio.com/?lang=es