Jump to content

(Solucionado) Crear categorias ocultas


Lire

Recommended Posts

Hola me gustaria haceros una pregunta, os expongo mi problema:

 

Me gustaria añadir una categoria que no saliera en el menu de la izquierda donde indican las categorias que tengo en la tienda prestashop, http://www.centralseeds.com/ actualmente tengo estas categorias: semillas, fertilizantes, plagas, interior, cultivo y cosecha, lo que quiero hacer es añadir una nueva categoria que no se muestra junto con esas otras categorias, pero crearla para meter articulos y luego cojer la url de la categoria y añadirla a un banner por imagen para que el cliente acceda desde alli a ella.

 

E creado la categoria parafernalia, http://www.centralse...96-parafernalia, para que no se muestre en el menu de la izquierda la e puesto "NO mostrado", con lo cual el cliente al entrar en ella le indica esto: "Esta categoría no está disponible", como puedo hacer para que este disponible esta categoria sin que se muestre en el menu de la izquierda?

 

Haver si me podeis iluminar, un saludo ;)

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

Lo único que se me ocurre para solucionar tu problema de manera fácil, es directamente quitar el menú de categorías y sustituirlo por un menú de enlaces que tú mismo agreges manualmente. Lo puedes hacer con un módulo de enlaces que creo que viene incluido, o sinó con algún módulo para insertar HTML y ahí pones los enlaces (escritos en HTML). Es una lata, porque cada cambio lo vas a tener que modificar manualmente, pero es una solución, que también serviría para poner un menú de enlaces con imágenes en lugar de tipografías.

 

Saludos.

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

Hola Lirelok, abre el blockcategory.php. Sobre la línea 171 veras esto: $maxdepth=.... y justo despues verás la llamada sql. acabando en el return...

La dejas así:

$maxdepth = Configuration::get('BLOCK_CATEG_MAX_DEPTH');
  if (!$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
SELECT c.id_parent, c.id_category, cl.name, cl.description, cl.link_rewrite
FROM `'._DB_PREFIX_.'category` c
LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND `id_lang` = '.$id_lang.')
LEFT JOIN `'._DB_PREFIX_.'category_group` cg ON (cg.`id_category` = c.`id_category`)
WHERE (c.`active` = 1 OR c.`id_category` = 1)
'.((int)($maxdepth) != 0 ? ' AND `level_depth` <= '.(int)($maxdepth) : '').'
AND cg.`id_group` IN ('.pSQL($groups).') AND c.`id_category` NOT LIKE XX
GROUP BY id_category
ORDER BY `level_depth` ASC, '.(Configuration::get('BLOCK_CATEG_SORT') ? 'cl.`name`' : 'c.`position`').' '.(Configuration::get('BLOCK_CATEG_SORT_WAY') ? 'DESC' : 'ASC'))
  )
return;

Donde las XX son el id de la caregoria que no quieres que salga. En el caso de que sean más pones los ids de categorias entre parentesis y separadas con coma.. por ejeompl AND c.`id_category` NOT LIKE (33,66)

 

Saludos

 

statictic perdona mi ignorancia pero donde esta el archivo "blockcategory.php" que no lo veo

Link to comment
Share on other sites

Statictic, lo di por resuelto demasiado rapiado....xD La priemra categoria que añadi me la cojio bien, pero ahora al añadir otra de la forma que dijiste (96,101) en mi caso son esas ID, separado por comas me produce una especia de fallo.

 

Sabrias cual ser el problema? ;)

Link to comment
Share on other sites

Lo e modificado pero parace que sigue saliendo, el codigo esta asi:

 

$maxdepth = Configuration::get('BLOCK_CATEG_MAX_DEPTH');

if (!$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('

SELECT c.id_parent, c.id_category, cl.name, cl.description, cl.link_rewrite

FROM `'._DB_PREFIX_.'category` c

LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND `id_lang` = '.$id_lang.')

LEFT JOIN `'._DB_PREFIX_.'category_group` cg ON (cg.`id_category` = c.`id_category`)

WHERE (c.`active` = 1 OR c.`id_category` = 1)

'.((int)($maxdepth) != 0 ? ' AND `level_depth` <= '.(int)($maxdepth) : '').'

AND cg.`id_group` IN ('.pSQL($groups).') AND c.`id_category` NOT IN (96,101)

GROUP BY id_category

ORDER BY `level_depth` ASC, '.(Configuration::get('BLOCK_CATEG_SORT') ? 'cl.`name`' : 'c.`position`').' '.(Configuration::get('BLOCK_CATEG_SORT_WAY') ? 'DESC' : 'ASC'))

)

return;

Link to comment
Share on other sites

Pues tampoco, lo e probado asi:

 

AND c.`id_category` NOT LIKE 96 AND c.`id_category` NOT LIKE 101

 

y

 

AND c.`id_category` NOT LIKE (96) AND c.`id_category` NOT LIKE (101)

 

La categoria 96 es parafernalia que esta activa y no aparece

La categoria 101 es la de ofertas que si aparece

 

Por si te vale de algo la version es esta: PrestaShop™ 1.4.7.3

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

oki lo e puesto asi:

AND c.`id_category` NOT IN (96,101)

 

El caso es curioso, porque en la pagina principal la categoria ofertas aparece pero cuando navegas en cualquier de las demas categorias ya no aparece..... no se

Link to comment
Share on other sites

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