Jump to content

Orden de Idiomas


moraira

Recommended Posts

Hola Amigos, hay alguna manera de ordenar los idiomas por Código ISO en lugar del indice.

 

En InnoDB no podemos cambiar el orden de la tabla sin cambiar los indices, y eso de borrar los idiomas y reinstalarlos en orden me parece un poco chapuza.

 

He buscado por ahí y no encuentro nada al respecto.

 

 

saludos

Edited by moraira (see edit history)
Link to comment
Share on other sites

Hola Amigos, hay alguna manera de ordenar los idiomas por Código ISO en lugar del indice.

 

En InnoDB no podemos cambiar el orden de la tabla sin cambiar los indices, y eso de borrar los idiomas y reinstalarlos en orden me parece un poco chapuza.

 

He buscado por ahí y no encuentro nada al respecto.

 

 

saludos

 

Estimad@ moraira,

 

Si usted desea cambiar el orden de los idiomas, para que en el front-office, pueda visualizarlo en un orden distinto, le recomiendo visitar este enlace: http://www.prestashop.com/forums/topic/12376-language-order/

 

Un Saludo

Link to comment
Share on other sites

  • 8 months later...

Hola moraira, ¿encontraste una solución para PS 1.5.x ? gracias anticipadas, saludos.

Hola,

 

No se si ha sido casualidad del destino, pero nuestro querido usuario joseantgv, ha publicado en el mismo enlace que deje arriba, el siguiente post: http://www.prestashop.com/forums/topic/12376-language-order/?do=findComment&comment=1403696 hace muy pocos minutos. xD

 

For PS 1.5.4.1 I override the following class in classes/Language.php:

   public static function getLanguages($active = true, $id_shop = false)
    {
        if (!self::$_LANGUAGES)
            Language::loadLanguages();

        $languages = array();
        foreach (self::$_LANGUAGES as $language)
        {
            if ($active && !$language['active'] || ($id_shop && !isset($language['shops'][(int)$id_shop])))
                continue;
            $languages[] = $language;
        }

        usort($languages, function($a, $
        {
            //language iso_code in the desired order:
            $new_order = array("es", "en");
            foreach($new_order as &$value)
            {
                if ($a["iso_code"]==$value) return -1;
                if ($b["iso_code"]==$value) return 1;
            }
        });

        return $languages;
    }
Link to comment
Share on other sites

Hola,

 

No se si ha sido casualidad del destino, pero nuestro querido usuario joseantgv, ha publicado en el mismo enlace que deje arriba, el siguiente post: http://www.prestashop.com/forums/topic/12376-language-order/?do=findComment&comment=1403696 hace muy pocos minutos. xD

 

 

Jeje hoy lo tuve que solucionar para una tienda y aproveché para postearlo ;)

Link to comment
Share on other sites

gracias ! adapté el código con varios idiomas más y funciona correctamente :-)

 

es curioso que subiendo el archivo language.php a la carpeta override/classes el código no tiene efecto y hay que sobre-escribir directamente el archivo en el core ¿a vosotros también os pasa? 

Link to comment
Share on other sites

gracias ! adapté el código con varios idiomas más y funciona correctamente :-)

 

es curioso que subiendo el archivo language.php a la carpeta override/classes el código no tiene efecto y hay que sobre-escribir directamente el archivo en el core ¿a vosotros también os pasa? 

 

No debería. Posiblemente haya algún error en el override o no borraras el archivo cache/class_index.php.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...