Jump to content

Pagination sur subcategories


Recommended Posts

Hello tout le monde !

Après moult tentatives infructueuses je me tourne vers vous à la quête d'une piste pour mon petit souci...

Je fini le dev d'une boutique prestashop pour laquelle je veux afficher les sous-catégories (qui sont ici des collections maroquinerie) avant d'acceder au produits.

J'ai donc réussi à mettre ce système en place, mais ma pagination (6 items / page) ne fonctionne que sur mes produits.

Demo : http://92.243.1.219/clients/marclabat/category.php?id_category=3

> La category "Maroquinerie" ne contient aucun produit / 12 subcategories. Le système de pagination marche bien au niveau products : http://92.243.1.219/clients/marclabat/category.php?id_category=5

Pour gérer l'affichage des subacategories et de mes produits j'ai modifié mon fichier category.tpl ainsi :


{if $category->id AND $category->active}
{if $category->level_depth==1}
<!-- Niveau 1 -->

<!-- SubCategory image -->
       {if $category->id_image}
getCatImageLink($category->link_rewrite, $category->id_image, 'category')}" alt="{$category->name|escape:'htmlall':'UTF-8'}" title="{$category->name|escape:'htmlall':'UTF-8'}" id="categoryImage" />
       {/if}

{$category->name|escape:'htmlall':'UTF-8'}_Subs
       {foreach from=$subcategories item=subcategory}

   {/foreach}

<!-- List Subcategories -->    
   {assign var='liHeight' value=240}
       {assign var='nbItemsPerLine' value=2}
       {assign var='nbLi' value=$subcategories|@count}
       {assign var='nbLines' value=$nbLi/$nbItemsPerLine|ceil}
       {assign var='ulHeight' value=$nbLines*$liHeight}

           {foreach from=$subcategories item=subcategory}
               {assign var='CategoryLink' value=$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}




               <!-- Image -->
                   {if $subcategory.id_image}
getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'large')}" class="product_image" alt="" width="124" height="172" />
                   {else}

                   {/if}



               <!-- Intitulé -->
getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}">{$subcategory.name|escape:'htmlall':'UTF-8'}

           {/foreach}



{include file=$tpl_dir./pagination.tpl}
<!-- List Subcategories -->

{else}
<!-- Niveau 2 -->

<!-- Slider Products -->
 

           {foreach from=$products item=product name=products}
               {assign var='productLink' value=$link->getProductLink($product.id_product, $product.link_rewrite, $product.category)}
 




           {/foreach}


<!-- /Slider Products -->

<!-- List Products -->

{$category->name|escape:'htmlall':'UTF-8'}_prod
   {include file=$tpl_dir./product-list.tpl products=$products}
   {include file=$tpl_dir./pagination.tpl}
<!-- /List Products -->
{/if}



{elseif $category->id}

{l s='This category is currently unavailable.'}
{/if}



Une idée ? Le fichier pagination ne gère t'il que le compte de products ? Dois je le modifier pour qu'il compte mes subcategories ?

Merci d'avance ! :)

Link to comment
Share on other sites

Merci ould.abeidy,

Cependant je pense que ton code est parfait pour contruire le menu catégorie et ses sous-catégories... Mais mon problème n'est pas vraiment tant de sortir une liste hiérarchisée des sous catégories : http://92.243.1.219/clients/marclabat/category.php?id_category=3

Sur cette page je liste mes sous-catégories (en fait des collections) comme des produits et c'est bien ce que je veux faire. Ce que je veux faire c'est paginer ce résultat de la même manière que mes produits, à savoir 6 items par page. Mais je ne comprend pas bien comment faire cela...

Ex page produits : http://92.243.1.219/clients/marclabat/category.php?id_category=5

Link to comment
Share on other sites

Je vais essayer de te mettre sur la voie...

Dans ton code, Tu fais appel au fichier include file=$tpl_dir./pagination.tpl qui lui est généré par le fichier php du meme nom à la racine de ton site.
Si tu observes la construction de ce dernier tu t'apercevras que le nombre de page est généré par le nombre de produits et non le nombre de catégories...

Peut etre modifier le PHP dans ton sens pour que cela fonctionne. J'ai pas la solution mais juste une piste à suivre ;)

EDIT : on en regardant du coté de pagination.tpl car il gère aussi la pagination des fabricants etc...

V++

Atch

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