vmontanya Posted August 14, 2013 Share Posted August 14, 2013 (edited) Hola a todos. Yo tengo una duda: ¿Cómo ordenar las categorías por orden alfabético en dos idiomas?Por ejemplo, lo ordeno manualmente en español en Catálogo/categorías/vista pero luego en inglés me queda desordenado y viceversa. ¿Existe alguna manera de que queden ordenados en los dos idiomas? Gracias Edited August 14, 2013 by vmontanya (see edit history) Link to comment Share on other sites More sharing options...
AlfonsoSoler Posted August 14, 2013 Share Posted August 14, 2013 Hola, es que en teoría, no se puede en Prestashop ordenar las categorías según idioma, para ello seria ir al Controller y decirle que haga un order by por nombre, pero eso se tendria que programar. Si no encuentras una solución fácil por el foro te hecho un cable. Link to comment Share on other sites More sharing options...
nadie Posted August 14, 2013 Share Posted August 14, 2013 He visto este modulo: http://www.prestashop.com/forums/topic/169194-module-sort-categories-alphabetically-and-more/ no lo he probado. ¿Has visto si te puede servir de ayuda o de orientación? Saludos, Link to comment Share on other sites More sharing options...
AlfonsoSoler Posted August 14, 2013 Share Posted August 14, 2013 La parte de ordenador solo sirve para la 1.4, acabo de instalarlo y no puedes hacer lo de las categorias, lástima, tenia buena pinta. Link to comment Share on other sites More sharing options...
nadie Posted August 14, 2013 Share Posted August 14, 2013 La parte de ordenador solo sirve para la 1.4, acabo de instalarlo y no puedes hacer lo de las categorias, lástima, tenia buena pinta. Segun indican en el mismo tema, sirve tambien para Prestashop 1.5 Edito: Tienes razón. Link to comment Share on other sites More sharing options...
nadie Posted August 14, 2013 Share Posted August 14, 2013 Para el bloque de categorías: Pestaña Módulos -> Módulos, busca el modulo llamado: Bloque de categorias y donde dice: Orden señala por nombre. (Puedes definir si ascendente o descendente) Adjunto Imagen ---- Después para ordenar las subcategorias cuando las ves en el centro de la pantalla: En el fichero: /classes/Category.php Buscas esto: public function getSubCategories($id_lang, $active = true) { if (!Validate::isBool($active)) die(Tools::displayError()); $groups = FrontController::getCurrentCustomerGroups(); $sql_groups = (count($groups) ? 'IN ('.implode(',', $groups).')' : '='.(int)Group::getCurrent()->id); $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' SELECT c.*, cl.id_lang, cl.name, cl.description, cl.link_rewrite, cl.meta_title, cl.meta_keywords, cl.meta_description FROM `'._DB_PREFIX_.'category` c '.Shop::addSqlAssociation('category', 'c').' LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND `id_lang` = '.(int)$id_lang.Shop::addSqlRestrictionOnLang('cl').') LEFT JOIN `'._DB_PREFIX_.'category_group` cg ON (cg.`id_category` = c.`id_category`) WHERE `id_parent` = '.(int)$this->id.' '.($active ? 'AND `active` = 1' : '').' AND cg.`id_group` '.$sql_groups.' GROUP BY c.`id_category` ORDER BY `level_depth` ASC, category_shop.`position` ASC '); Y prueba dejarlo asi: $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' SELECT c.*, cl.id_lang, cl.name, cl.description, cl.link_rewrite, cl.meta_title, cl.meta_keywords, cl.meta_description FROM `'._DB_PREFIX_.'category` c '.Shop::addSqlAssociation('category', 'c').' LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND `id_lang` = '.(int)$id_lang.Shop::addSqlRestrictionOnLang('cl').') LEFT JOIN `'._DB_PREFIX_.'category_group` cg ON (cg.`id_category` = c.`id_category`) WHERE `id_parent` = '.(int)$this->id.' '.($active ? 'AND `active` = 1' : '').' AND cg.`id_group` '.$sql_groups.' GROUP BY c.`id_category` ORDER BY cl.`name` ASC, `level_depth` ASC, category_shop.`position` ASC '); Ah, por cierto, recuerdo que lo correcto es hacer un override de: /classes/Category.php en /override/classes/ . Saludos, -- ASC = Ascendente DESC = Descendente Link to comment Share on other sites More sharing options...
nadie Posted August 14, 2013 Share Posted August 14, 2013 Prueba lo que te he comentado directamente sobre la clase, y si te funciona, te paso el override, para que no tengas que modificar el original de la clase y asi en futuras actualizaciones evitar problemas. Saludos, Link to comment Share on other sites More sharing options...
vmontanya Posted August 14, 2013 Author Share Posted August 14, 2013 Hola chicos, gracias por las respuestas. La verdad es que pensaba que sería más sencillo. Me da miedo tocar el código ahora que ya tengo la tienda funcionando. Así que de momento lo dejo tal como está y lo dejo para un freelance el día que lo contrate ya que tengo que arreglar también lo de los media servers. Así aprovecho y que me eche una mano con todo. Mil gracias de todos modos Alfonso y Nadie! Link to comment Share on other sites More sharing options...
nadie Posted August 14, 2013 Share Posted August 14, 2013 Hola chicos, gracias por las respuestas. La verdad es que pensaba que sería más sencillo. Me da miedo tocar el código ahora que ya tengo la tienda funcionando. Así que de momento lo dejo tal como está y lo dejo para un freelance el día que lo contrate ya que tengo que arreglar también lo de los media servers. Así aprovecho y que me eche una mano con todo. Mil gracias de todos modos Alfonso y Nadie! Vamos hacer una cosa, envíame los datos de acceso a tu tienda por privado y te lo dejo puesto lo de las categorias. (No te preocupes que no te cobro nada) Link to comment Share on other sites More sharing options...
nadie Posted August 14, 2013 Share Posted August 14, 2013 El tema ha sido solucionado. Os cuento el usuario vmontanya usaba esta plantilla: http://themeforest.n...5-theme/3865279 llamada Millenium. El usuario realmente hablaba del "Menu horizontal" (porque en su caso es el unico sitio donde se imprimen las categorias y subcategorias, pues no se le muestran en el centro ni tiene activado el bloque de categorias), el modulo es una modificación llamada: blocktopmenu_mod Asi que fijandome en el fichero: /modules/blocktopmenu_mod/blocktopmenu_mod.php Vi que hacia una llamada a la función: getChildren de la clase: Category.php Entonces depende editar la función en el fichero: Category.php Cree un fichero dentro de: /override/classes/ llamado Category.php con este contenido: <?php class Category extends CategoryCore { public static function getChildren($id_parent, $id_lang, $active = true, $id_shop = false) { if (!Validate::isBool($active)) die(Tools::displayError()); $query = 'SELECT c.`id_category`, cl.`name`, cl.`link_rewrite`, category_shop.`id_shop` FROM `'._DB_PREFIX_.'category` c LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category`'.Shop::addSqlRestrictionOnLang('cl').') '.Shop::addSqlAssociation('category', 'c').' WHERE `id_lang` = '.(int)$id_lang.' AND c.`id_parent` = '.(int)$id_parent.' '.($active ? 'AND `active` = 1' : '').' GROUP BY c.`id_category` ORDER BY cl.`name` ASC'; return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query); } } De esa manera como a el le interesaba mostrar las subcategorias por debajo de las categorias que añadía al menú organizadas, aparecen organizadas. 2 Link to comment Share on other sites More sharing options...
vmontanya Posted August 14, 2013 Author Share Posted August 14, 2013 Me he quedado con la boca abierta. Mil gracias. Si lo ves bien, Nadie, doy el tema por solucionado. Link to comment Share on other sites More sharing options...
nadie Posted August 14, 2013 Share Posted August 14, 2013 Me he quedado con la boca abierta. Mil gracias. Si lo ves bien, Nadie, doy el tema por solucionado. Un placer ayudarte y servirte! Si das el tema como solucionado, edita el titulo del tema, editando el primer mensaje, pulsando en editar, y después en "Usar editor completo", añadiendo la palabra "Solucionado" al titulo, esto ayudara, a mantener una mayor organización en el foro. Un saludo y recuerda que estaremos en el foro, para guiarte por este mundo oscuro y tenebroso. Link to comment Share on other sites More sharing options...
Recommended Posts