Jump to content

Les catégories contenant des catégories ne s'affichent pas comme des pages category


cynthia1301

Recommended Posts

Bonjour,

 

Je reprends donc mon titre que j'ai essayé de rendre le plus explicite possible : Mes pages catégories contenant des sous-catégories ne s'affichent pas telles qu'elles le devraient.

 

Exemple d'une page sans sous-catégories : Page catalogue

 

Exemple de l'affichage d'une page contenant des sous-catégories : Page prêt-à-porter et accessoires

 

Comme vous pouvez le constater, les balises <head> ne contiennent rien.

 

Je n'ai rien trouvé sur les forums de similaire... J'en suis d'autant plus inquiète !

 

Je vous remercie par avance pour votre aide.

 

 

 

Link to comment
Share on other sites

Bonjour Eolia,

 

Merci pour votre réponse rapide et claire !

 

Je suis encore sous la version 1.6.1.4. Pardon, j'avais oublié de le préciser ! 

 

Suite à votre message, j'ai tenté de remplacer classes/Media.php avec la version antérieure et la version ultérieure. Le souci persiste.

 

Je suis preneuse d'autres idées...

 

Merci pour tout et merci par avance !

Link to comment
Share on other sites

Après plusieurs tentatives, je repars de 0 avec le fichier initial et je re-construis ma page category. Rien de mieux pour le moment... Je n'ai pas trouvé ce qui avait provoqué ce bug, je redoute que ça se reproduise, du coup !

 

Merci pour votre aide !

 

Cordialement,

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

Bonjour Eolia,

 

Merci d'avoir pris le temps de regarder le reste du site. Il est en construction : je pense connaître les pages qui ne s'affichent pas correctement ;-)

 

Pour les pages catégories contenant des sous-catégories, j'ai compris mon erreur : j'appelle un fichier product-list-sub.tpl qui est une copie de product-list.tpl dans mon fichier category.tpl.

 

Mais les lignes de code qui fonctionnent en local ne fonctionnent pas en ligne (étrange...)

 

Pour le moment, les titres des sous-catégories s'affichent mais pas les produits qui y sont associés.

 

Voici le code que j'utilise (mais j'en cherche un autre...) :

{assign var="subcategory_id" value=$subcategory.id_category}

{assign var="subcategory_object" value=$subcategories_objects.$subcategory_id}

{include file="$tpl_dir./product-list-sub.tpl" products=$subcategory_object->getProducts('1','1','100')}

Merci par avance pour votre aide !

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

Merci pour le temps que tu me consacres !!!

 

Pardon pour les lignes en commentaires (je manque un peu de confiance en moi ;)) ! Et depuis ce matin, c'est encore pire... :wacko:

 

Les produits qui s'affichent sont ceux de la catégorie en bas de page.

 

Je continue mes tests. Mais je vais nettoyer ça un peu !

 

Merci encore pour tout !!!

Link to comment
Share on other sites

Ca y est ! Le problème est réglé grâce à ce topic !

 

En gros, dans la page controllers/front/CategoryController.php, on remplace le code dans assignSubcategories() par :

protected function assignSubcategories()
{
    if ($sub_categories = $this->category->getSubCategories($this->context->language->id))
    {
            $subcategory_objects=array();
            $this->context->smarty->assign("andr_lang",intval($cookie->id_lang));              
            foreach ($sub_categories as $subcategory)
                  {
                   $sub=new Category(intval($subcategory['id_category']),intval($cookie->id_lang));
                   $subcategory_objects[$subcategory['id_category']]=$sub;
               }
               //var_dump($subcategory_objects);
               $this->context->smarty->assign("subcategories_objects",$subcategory_objects);    
    
    
        $this->context->smarty->assign(array(
            'subcategories'          => $sub_categories,
            'subcategories_nb_total' => count($sub_categories),
            'subcategories_nb_half'  => ceil(count($sub_categories) / 2)
        ));
    }
}

Ensuite, dans "votrethème"/category.tpl, on remplace :

<div class="content_sortPagiBar clearfix">
	<div class="sortPagiBar clearfix">
		{include file="./product-sort.tpl"}
		{include file="./nbr-product-page.tpl"}
	</div>
	<div class="top-pagination-content clearfix">
		{include file="./product-compare.tpl"}
		{include file="$tpl_dir./pagination.tpl"}
	</div>
</div>

{include file="./product-list.tpl" products=$products}	

par :

<div class="content_sortPagiBar clearfix">
	<div class="sortPagiBar clearfix">
		{include file="./product-sort.tpl"}
		{include file="./nbr-product-page.tpl"}
	</div>
	<div class="top-pagination-content clearfix">
		{include file="./product-compare.tpl"}
		{include file="$tpl_dir./pagination.tpl"}
	</div>
</div>

{if isset($subcategories)}			
	{foreach from=$subcategories item=subcategory}

		  {assign var="subcategory_id" value=$subcategory.id_category}
		  {assign var="subcategory_object" value=$subcategories_objects.$subcategory_id}
	  
			{include file="./product-list-sub.tpl" products=$subcategory_object->getProducts('1','1','100')}
	  
		{/foreach}
	
	{else}
	{include file="./product-list.tpl" products=$products}			
{/if}

Enfin, on ouvre "votre thème"/product-list.tpl, sous <!-- Products list -->, on ajoute :

<h4>{$subcategory.name|escape:'htmlall':'UTF-8'}</h4>

On enregistre ce fichier sous "votre thème"/product-list-sub.tpl

 

Ca fonctionne pour PS 1.6.1.4.

 

J'espère que ça pourra aider.

 

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