Jump to content

Cambiar categoría listada en el Hook del Footer (módulo blockcategories)


Recommended Posts

Buenas.

 

He montado una tienda y tengo un problema... He creado una categoría llamada "Productos" dentro de la categoría "Inicio" y dentro he metido todas las categorías de la web, el problema es el que el Hook del Footer muestra sólo las categorías de Inicio y por tanto sólo muestra "Productos". Sabéis cómo cambiar la select para que me saque sólo las que hay dentro de esta categoría?

 

 

Es decir... El árbol actual es Inicio -> Productos -> Subcategoría 1

                                                                               Subcategoría 2

                                                                               Subcategoría 3

                                                                               Subcategoría 4

                                                                               Subcategoría 5

                                                                               Subcategoría 6

 

El Hook del Footer me muestra el contenido de Inicio = Productos pero quiero que me muestre el contenido de Productos = Subcategoría 1, Subcategoría 2, ...

 

 

Este es el código por defecto que viene en blockcategories.php, en el apartado del Footer:

 

            $maxdepth = Configuration::get('BLOCK_CATEG_MAX_DEPTH');
            // Get all groups for this customer and concatenate them as a string: "1,2,3..."
            $groups = implode(', ', Customer::getGroupsStatic((int)$this->context->customer->id));
            if (!$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
                SELECT DISTINCT c.id_parent, c.id_category, cl.name, cl.description, cl.link_rewrite
                FROM `'._DB_PREFIX_.'category` c
                '.Shop::addSqlAssociation('category', 'c').'
                LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND cl.`id_lang` = '.(int)$this->context->language->id.Shop::addSqlRestrictionOnLang('cl').')
                LEFT JOIN `'._DB_PREFIX_.'category_group` cg ON (cg.`id_category` = c.`id_category`)
                WHERE (c.`active` = 1 OR c.`id_category` = '.(int)Configuration::get('PS_ROOT_CATEGORY').')
                '.((int)($maxdepth) != 0 ? ' AND `level_depth` <= '.(int)($maxdepth) : '').'
                AND cg.`id_group` IN ('.pSQL($groups).')
                ORDER BY `level_depth` ASC, '.(Configuration::get('BLOCK_CATEG_SORT') ? 'cl.`name`' : 'category_shop.`position`').' '.(Configuration::get('BLOCK_CATEG_SORT_WAY') ? 'DESC' : 'ASC')))
                return;
            $resultParents = array();
            $resultIds = array();
 

Gracias de antemano y saludos!

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

Tendrías que modificar esta línea:

 WHERE (c.`active` = 1 OR c.`id_category` = '.(int)Configuration::get('PS_ROOT_CATEGORY').')

y poner el id de tu categoría

 WHERE (c.`active` = 1 OR c.`id_category` = 222)
Link to comment
Share on other sites

Hola Jesa.

 

La verdad es que es de Poltergeist... Ayer probé cambiar esa línea antes de escribir en el foro (creo que ya probé poniendo la ID a pelo) pero entonces la web se me quedaba KO y no cargaba.

 

Hoy he probado modificar la select a:

 

                SELECT DISTINCT c.id_parent, c.id_category, cl.name, cl.description, cl.link_rewrite
                FROM `'._DB_PREFIX_.'category` c
                '.Shop::addSqlAssociation('category', 'c').'
                LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND cl.`id_lang` = '.(int)$this->context->language->id.Shop::addSqlRestrictionOnLang('cl').')
                LEFT JOIN `'._DB_PREFIX_.'category_group` cg ON (cg.`id_category` = c.`id_category`)
                WHERE (c.`active` = 1 OR c.`id_category` = 24)
                '.((int)($maxdepth) != 0 ? ' AND `level_depth` <= '.(int)($maxdepth) : '').'
                AND cg.`id_group` IN ('.pSQL($groups).')
                ORDER BY `level_depth` ASC, '.(Configuration::get('BLOCK_CATEG_SORT') ? 'cl.`name`' : 'category_shop.`position`').' '.(Configuration::get('BLOCK_CATEG_SORT_WAY') ? 'DESC' : 'ASC')))

 

 

y a:

 

                SELECT DISTINCT c.id_parent, c.id_category, cl.name, cl.description, cl.link_rewrite
                FROM `'._DB_PREFIX_.'category` c
                '.Shop::addSqlAssociation('category', 'c').'
                LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND cl.`id_lang` = '.(int)$this->context->language->id.Shop::addSqlRestrictionOnLang('cl').')
                LEFT JOIN `'._DB_PREFIX_.'category_group` cg ON (cg.`id_category` = c.`id_category`)
                WHERE (c.`active` = 1 OR c.`id_category` = 24)
                ORDER BY `level_depth` ASC, '.(Configuration::get('BLOCK_CATEG_SORT') ? 'cl.`name`' : 'category_shop.`position`').' '.(Configuration::get('BLOCK_CATEG_SORT_WAY') ? 'DESC' : 'ASC')))

 

 

Pero en ninguno de los dos casos hace absolutamente nada... He reinicializado el módulo, borrado la caché, ... Se te ocurre algo más?

 

Saludos y gracias por tu respuesta!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...