Jump to content

[ Résolu ] Cacher Produits dans Sous - catégories


Recommended Posts

Bonjour à tous voila je voulais savoir comment je peux faire pour cacher les produits dans une sous catégorie, le but final étant d'afficher les produits seulement dans la catégorie souhaité j'espère être le plus compréhensible possible merci à vous pour votre aide.

post-144491-0-87913900-1323873307_thumb.png

Link to comment
Share on other sites

bonjour,

 

ce très simple il suffit dans le BO pour toutes les produits :

 

Catégorie par défaut ou catégorie père de sous catégorie il fait pas qu'il soit coché.

 

il faut pas que le catégorie père de sous catégories soit attacher ou associé a un produits (il faut faire le tour de toutes les produits dans l'espace d’administration et enlevé le couchage devant le catégorie père ;)

 

bonne soirée:)

 

Cordialement,

Houssem El Ghali

Link to comment
Share on other sites

ton arborescence est :

A- Accueil

B- High Tech (catégorie principale)

C- Périphériques informatiques (sous-catégorie)

D- Tes produits ex :Clavier logithech (article)

 

dans la fiche produit de "clavier logithech" au niveau de "Catégorie par défaut" vérifies les cases à cocher , il doit y avoir les cases "high tech" et "périphériques" de cochées

Il y a peut-être besoin de cliquer sur le petit plus devant "high tech" afin de faire apparaître les sous catégories.

donc décocher ta catégories principale (j'ai mis High tech pour l'exemple ne sachant pas le nom exact)

Link to comment
Share on other sites

  • 1 month later...

Bonjour,

 

J'ai le même problème que samace. J'ai suivi vos conseil mais cela ne résou pas mon problème.

 

Je m'explique:

 

J'ai des catégories sur trois niveaux imposé par un système de gestion tiers.

1 niveau
indoor
2 niveau
LC2, LC3, LC4,
etc..
3 niveau
LC2 blabla
Produits

Mon 1 niveau qui comporte 2 categories s'affiche sur la page d'accueil

Aprés avoir choisi Une categorie on se retrouve sur la page categories affichant toutes les sous categories mais aussi tous les produits or je ne le souhaite pas.

J'espére être assé claire
:(
et que quelqu'un puisse m'aider merci
Link to comment
Share on other sites

J'ai bien suivi vos conseils mes produits sont liés qu'au troisiéme niveau. C'est là que je pêche :(

 

je vous joint une capture d'écran.

 

Premier niveau de categorie page accueil (index.php)

 

deuxième niveau page category.php?id_category=2 et les produits s'affichent :(

post-184985-0-43785900-1327578881_thumb.jpg

post-184985-0-32404000-1327578895_thumb.jpg

Link to comment
Share on other sites

salut je reviens un peu tard boulot oblige <_< désolé.

 

Pour le contenu je n'est pas rentré tous les produits. Le LC2 de la capture ecran en fait parti et ne devrait pas y être.

 

Si c'est le code que vous voulez le voici:

 

{if isset($products)}

<!-- Products list -->

<ul id="product_list" class="clear">

{foreach from=$products item=product name=products}

<li class="ajax_block_product {if $smarty.foreach.products.first}first_item{elseif $smarty.foreach.products.last}last_item{/if} {if $smarty.foreach.products.index % 2}alternate_item{else}item{/if} clearfix">

<div class="left_block">

{if isset($comparator_max_item) && $comparator_max_item}

<p class="compare">

<input type="checkbox" class="comparator" id="comparator_item_{$product.id_product}" value="comparator_item_{$product.id_product}" {if isset($compareProducts) && in_array($product.id_product, $compareProducts)}checked="checked"{/if} />

<label for="comparator_item_{$product.id_product}">{l s='Select to compare'}</label>

</p>

{/if}

</div>

<div class="center_block">

<a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home')}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} />{if isset($product.new) && $product.new == 1}<span class="new">{l s='New'}</span>{/if}</a>

<h3><a href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.name|escape:'htmlall':'UTF-8'}">{$product.name|truncate:35:'...'|escape:'htmlall':'UTF-8'}</a></h3>

<p class="product_desc"><a href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.description_short|truncate:100:'...'|strip_tags:'UTF-8'|escape:'htmlall':'UTF-8'}">{$product.description_short|truncate:220:'...'|strip_tags:'UTF-8'}</a></p>

</div>

<div class="right_block">

{if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="on_sale">{l s='On sale!'}</span>

{elseif isset($product.reduction) && $product.reduction && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="discount">{l s='Reduced price!'}</span>{/if}

{if isset($product.online_only) && $product.online_only}<span class="online_only">{l s='Online only!'}</span>{/if}

{if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}

<div class="content_price">

{if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}<span class="price" style="display: inline;">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span><br />{/if}

{if isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}<span class="availability">{if ($product.allow_oosp || $product.quantity > 0)}{l s='Available'}{elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}{l s='Product available with different options'}{else}{l s='Out of stock'}{/if}</span>{/if}

</div>

{/if}

{if ($product.id_product_attribute == 0 || (isset($add_prod_display) && ($add_prod_display == 1))) && $product.available_for_order && !isset($restricted_country_mode) && $product.minimal_quantity == 1 && $product.customizable != 2 && !$PS_CATALOG_MODE}

{if ($product.allow_oosp || $product.quantity > 0)}

<a class="button ajax_add_to_cart_button exclusive" rel="ajax_id_product_{$product.id_product|intval}" href="{$link->getPageLink('cart.php')}?add&id_product={$product.id_product|intval}{if isset($static_token)}&token={$static_token}{/if}" title="{l s='Add to cart'}"><span></span>{l s='Add to cart'}</a><br />

{else}

<span class="exclusive"><span></span>{l s='Add to cart'}</span><br />

{/if}

{/if}

<a class="button lnk_view" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View'}</a>

</div>

</li>

{/foreach}

</ul>

<!-- /Products list -->

{/if}

 

Asavoir qu'il n' ya que sur la page du deuxieme niveau que j'ai ce souci. quand je rentre dans une sous categorie de ce niveau il m'affiche bien que les produits assciés.

 

merci

Link to comment
Share on other sites

  • 3 months later...

Bonjour,

 

Si quelqu'un cherche la solution la voici :

Créer dans override->controllers un fichier qui s'appelle : CategoryController.php

Dedans mettre :

<?php
class CategoryController extends CategoryControllerCore
{
   public function productListAssign()
{
 $hookExecuted = false;
 //Module::hookExec('productListAssign', array('nbProducts' => &$this->nbProducts, 'catProducts' => &$this->cat_products, 'hookExecuted' => &$hookExecuted));
 if(!$hookExecuted) // The hook was not executed, standard working
 {
  self::$smarty->assign('categoryNameComplement', '');
  $this->nbProducts = $this->category->getProducts(NULL, NULL, NULL, $this->orderBy, $this->orderWay, true);
  $this->pagination((int)$this->nbProducts); // Pagination must be call after "getProducts"
  $this->cat_products = $this->category->getProducts((int)(self::$cookie->id_lang), (int)($this->p), (int)($this->n), $this->orderBy, $this->orderWay);
 }
 else // Hook executed, use the override
  $this->pagination((int)$this->nbProducts); // Pagination must be call after "getProducts"
 self::$smarty->assign('nb_products', (int)$this->nbProducts);
}
}
?>

 

Et voila soucis résolut ;)

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Bonjour,

 

J'ai le même problème que le CategoryController.php résoud en partie. En effet, les produits ne s'affichent plus dans les catégories intermédiaire, c'était le but recherché.

 

en revanche, lors de l'affichage d'une catégorie intermédiaire, il y a l'affichage suivant :

"Aucun produit dand cette catégorie".

 

Or, je souhaiterais afficher le nombre de produits total inclus dans les sous catégories. Quelqu'un aurait il une solution ?

  • Like 1
Link to comment
Share on other sites

  • 2 months later...
  • 9 months later...

Bonsoir à tous ,

j'ai exactement le meme soucis , j'ai des sous catégories et mes produits s'affichent sur chaque parents de celle ci

pourtant j'ai bien coché la catégorie par default et quand je met le fichier CategoryController.php dans override/controllers , rien ne change...

quelqu'un aurait une idée ?

 

presta version : 1.5.4.1

 

merci d'avance

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...