AfterGlow93 Posted September 30, 2020 Share Posted September 30, 2020 Bonsoir à tous, Je développe actuellement commerce et travaille sur Prestashop 1.7.6.7. Pour effectuer une recherche de pièces détachées, je me suis basé sur le module LeoPartsFilter (excellent module de filtration au passage) Tout fonctionne à merveille, mais j'ai besoin de modifier le script initial pour y ajouter des informations. Essai du site ici : https://www.conceptauto83.fr Lors d'une recherche selon la marque, modèle, motorisation et version, le script renvoie vers une page vierge et liste les produits (je dois travailler le CSS pour les problèmes d'affichage) Je souhaiterais lister les produits par catégories, par exemple, si le produit 1 se trouve dans la catégorie "Ampoules", je veux ajouter une section avec un titre "Ampoules" puis lister les produits de cette catégorie. Si le produit 2 se trouve dans la catégorie "Essuies-glace", je veux générer un autre block similaire au premier, qui viendrait se placer juste en dessous, en ajoutant le titre "Essuie-glace" et listes les produits de cette catégorie. Le filtre affiche automatiquement les produits pour lesquels j'ai défini le filtre, donc pas de soucis d'affichage des produits. Je souhaite juste les lister par section. Pour récupérer le nom de la catégorie, j'utilise le code : {if isset($product.id_category_default)} {assign var='catname' value=Category::getCategoryInformations(array($product.id_category_default))} {$catname[$product.id_category_default].name} {/if} Le code me renvoie exactement la catégorie adéquat et me l'affiche. Pour avoir une idée du résultat, le lien vers une page après filtre : https://conceptauto83.fr/recherche-pieces?action=&make=3&model=20&year=81&device=193 Le morceau de template qui liste les produits : <section id="products"> {if isset($listing.products) && $listing.products|count} <div> {block name='product_list'} {* catalog/listing/product-list.tpl *} {* include file='catalog/_partials/products.tpl' listing=$listing *} <div id="js-product-list"> <div class="products"> {assign var="products" value=$listing.products} {if isset($productProfileDefault) && $productProfileDefault} {include file='catalog/_partials/miniatures/leo_col_products.tpl' products=$products} {else} <div class="row"> {foreach from=$products item="product"} <div class="ajax_block_product product_block col-sp-12 col-xs-6 col-sm-6 col-md-6 col-lg-3 col-xl-3"> {block name='product_miniature'} {include file='catalog/_partials/miniatures/product.tpl' product=$product} {/block} </div> {/foreach} </div> {/if} </div> Comment modifier le template pour que pour chaque produit assigné donc à une catégorie, le résultat soit : Catégorie 1 (si un ou plusieurs produits de la catégorie 1 existent) -------------------------> Produit de catégoie 1 / Produit de catégoie 1 / Produit de catégoie 1 ..... Catégorie 2 (si un ou plusieurs produits de la catégorie 2 existent) -------------------------> Produit de catégoie 2 / Produit de catégoie 2 / Produit de catégoie 2 ..... Je précise, je ne suis pas développeur, je fais ça moi même avec les quelques notions que j'ai . Merci pour votre aide ! Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now