THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,
Actuellement en train de développer le nouveau site de notre boutique en Thelia 2, je rencontre une difficulté dans ma page produit. Nous vendons des accessoires pour téléphone.

Le but : afficher dans une page produit (mettons un étui noir pour un téléphone X) une liste de produits d un autre coloris (bleu, rouge, jaune par exemple). Pour cela j ai crée une caractéristique "modèle produit" qui permet d'avoir un lien commun entre chaque produit.

La fonction déclinaison de produit ne me convient pas car je souhaite avoir une page par produit et non une page regroupant un produit avec tous les coloris (moins personnalisé au niveau de la description et beaucoup trop de photos)

Voici la boucle que j'ai utilisée :
{loop type="product" name="others_product_loop" category="{$DEFAULT_CATEGORY}" feature_availability="3:??"}
                        <li>{$TITLE} ({$REF})</li>
{/loop}

dans "feature-availability" le 3 correspond à l'idée de ma caractéristique "modèle produit" je n'arrive pas à remplacer les ?? par l'id de la valeur de la caractéristique.

Merci d'avance pour votre aide.

Offline


Bonjour,

Je me permet de faire remonter le post pour partager la solution que j'ai mise en place si cela peut aider quelqu'un qui voudrait faire la même chose.
Voici le bout de code :

<div class="other-colors">
                {ifloop rel="other_colors_feature_type"}
                    {loop type="feature_value" name="other_colors_feature_type" feature="6" product="{$ID}"}
                    {ifloop rel="other_colors_product_loop"}
                	<h3 class="other-colors-title">{intl l="Other colors available"} :</h3>
                    {loop type="product" name="other_colors_product_loop" current="no" category="{$DEFAULT_CATEGORY}" feature_availability="6:{$FEATURE_AV_ID}" }
                    <ul>
                        <li><a href="{$URL nofilter}" title="{intl l="{$TITLE}"}">
                            {loop name="product.image.other.colors" type="image" source="product" source_id={$ID} width="50" resize_mode="borders" limit="1"}
                                 <p><img itemprop="image" src="{$IMAGE_URL nofilter}" alt="{$TITLE}"></p>
                            {/loop}
                            {loop type="feature_value" name="other_test" product="{$ID}" feature="5"}
                                {$TITLE}
                            {/loop}</a>
                        </li>
                    </ul>
                    {/loop}
                    {/ifloop}
                    {/loop}
                {/ifloop}
                </div>

feature="3" correspond au type de produit
feature="2" correspond à la couleur du produit

Donc ici il est affiché les autre produits de la catégorie(category="{$DEFAULT_CATEGORY}") sauf celui affiché (current="no") possédant la même caractéristique "type de produit", sauf s'il n'y a rien à afficher.
Pour la mise en page il est affiché l'image du produit avec le nom de la couleur en dessous (feature="2").

Après il y a peut être plus optimisé comme boucle mais celle-ci fonctionne.

Last edited by Ordica (23-01-2016 15:24:19)