Jump to content

(RESOLU]Catégorie invisible en FO et produits accessibles.


Recommended Posts

Bonjour à tous,

Je cherche une astuce pour rendre invisible certaines catégories dans le bloc catégories du FO.
Ces catégories "invisibles" doivent rester accessible par un lien sur une image et, bien sur, ses produits avec en FO.
Lorsque l'on désactive une catégorie dans le BO, les produits de cette catégorie ne sont plus visibles en FO.


Merci de vos idées.

JMLF

Link to comment
Share on other sites

C'est vrai, ce n'était pas grand chose !!!
Merci Divine pour tes devinettes.
Ce n’est pas Divine que tu aurai dû prendre comme pseudo mais Devine ;-P

JMLF


Bonjour,

peut être pourriez vous mettre la solution adaptée à la version 1.3 pour les prochains lecteurs.
Link to comment
Share on other sites

Voici la solution :

SELECT DISTINCT c.*, cl.*
FROM `'._DB_PREFIX_.'category` c
LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND `id_lang` = '.intval($params['cookie']->id_lang).')
LEFT JOIN `'._DB_PREFIX_.'category_group` cg ON (cg.`id_category` = c.`id_category`)
WHERE 1'
.(intval($maxdepth) != 0 ? ' AND `level_depth` <= '.intval($maxdepth) : '').'
AND (c.`active` = 1 OR c.`id_category`= 1 )
AND c.id_category <> 63
AND cg.`id_group` '.(!$cookie->id_customer ? '= 1' : 'IN (SELECT id_group FROM '._DB_PREFIX_.'customer_group WHERE id_customer = '.intval($cookie->id_customer).')').'
ORDER BY `level_depth` ASC, cl.`name` ASC'))

63 étant l'id de la catégorie à cacher.

JMLF

Link to comment
Share on other sites

  • 5 months later...

J'ai besoin de plus d'info. C'est où que l'on dispose de tout cette pagaille de signe ? On fait appel à Prestacréa en temps normal, (Vraiment au top) mais c'est tout les jours... Donc je vais essayer par moi même looool.

Est il possible d'avoir plus d'infos sur la démarche à suivre ?

Merci

Link to comment
Share on other sites

Bonjour Fc-bike,

Cette "pagaille de signes" se met en place dans le fichier blockcategories.php du module blockcatégories.
Il suffit d'insérer la ou les lignes ci-dessous après la ligne 110 du fichier (je suis en 1.3.1, ca peut changer avec une autre version) :

AND c.id_category <> 59
AND c.id_category <> 60

les numéros 59 et 60 correspondent aux ID des catégories à cacher.
Tu peux trouver le numéro des catégories en BO, à l'index du catalogue.

Cdlt

  • Like 1
Link to comment
Share on other sites

  • 10 months later...

Et sur Prestashop 1.4.5.1 : ligne 153

Tools::enableCache();
 if (!$this->isCached('blockcategories.tpl', $smartyCacheId))
 {
  $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).')
 [b]  AND c.id_category <> 48
   AND c.id_category <> 46
   AND c.id_category <> 49
   AND c.id_category <> 47
   AND c.id_category <> 51
   AND c.id_category <> 52
   AND c.id_category <> 91
   AND c.id_category <> 92[/b]
   GROUP BY id_category
   ORDER BY `level_depth` ASC, c.`position` ASC')

 

:)

  • Like 1
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...