moraira Posted January 3, 2013 Share Posted January 3, 2013 (edited) 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 January 3, 2013 by moraira (see edit history) Link to comment Share on other sites More sharing options...
nadie Posted January 3, 2013 Share Posted January 3, 2013 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 More sharing options...
moraira Posted January 3, 2013 Author Share Posted January 3, 2013 gracias por tu rápida respuesta Nadie, olvide comentar que es para la version 1.5.x, el post que comentas es sólo para las anteriores. Link to comment Share on other sites More sharing options...
Galoper Posted October 2, 2013 Share Posted October 2, 2013 Hola moraira, ¿encontraste una solución para PS 1.5.x ? gracias anticipadas, saludos. Link to comment Share on other sites More sharing options...
nadie Posted October 3, 2013 Share Posted October 3, 2013 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 More sharing options...
joseantgv Posted October 3, 2013 Share Posted October 3, 2013 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 More sharing options...
nadie Posted October 3, 2013 Share Posted October 3, 2013 Jeje hoy lo tuve que solucionar para una tienda y aproveché para postearlo jajaja, entonces fue causalidad del destino. Gracias por colaborar con la Comunidad de Prestashop ! Link to comment Share on other sites More sharing options...
Galoper Posted October 4, 2013 Share Posted October 4, 2013 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 More sharing options...
joseantgv Posted October 4, 2013 Share Posted October 4, 2013 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 More sharing options...
Galoper Posted October 4, 2013 Share Posted October 4, 2013 correcto! de nuevo, gracias, era necesario borrar el class_index.php. Link to comment Share on other sites More sharing options...
Recommended Posts