Jump to content

Ajout d'une image à un attribut


Recommended Posts

Bonjour,

Je fais appel à vous pour un besoin que j'ai concernant ma boutique prestashop. 

En effet, comme sur l'exemple ci-dessous, je conditionne des produits en fonction de leur contenance. J'ai trouvé assez sympathique d'avoir une présentation similaire en incluant une image selon la quantité choisie. 

Problème : Prestashop ne propose pas cette fonctionnalité en natif et j'aimerais savoir si vous connaîtriez un module gratuit permettant de faire cela ? 

image.png.893b60c5e8dec8002ce686e59556533d.png

Je vous remercie d'avance pour votre aide. 

Merci à vous !

Link to comment
Share on other sites

Vous pouvez tout à fait le faire dans le tpl de la page produit.

En fonction de l'id_attribute_group et id_attribute à vous d'y associer les images correspondantes.

{elseif ($group.group_type == 'radio')}
    <ul>
        {foreach from=$group.attributes key=id_attribute item=group_attribute}
            <li>
                <input type="radio" class="attribute_radio" name="{$groupName|escape:'html':'UTF-8'}" value="{$id_attribute}" {if ($group.default == $id_attribute)} checked="checked"{/if} />
                <span>{$group_attribute|escape:'html':'UTF-8'}</span>
            </li>
        {/foreach}
    </ul>
{/if}

Attribut du groupe "Quantité" : par exemple les attributs 27, 28, 29...

Vous créez une série d'images avec chaque valeur de quantité 27.jpg, 28.jpg, 29.jpg etc que vous mettez dans le répertoire img/attributes/ de votre thème.

Dans le code:

{elseif ($group.group_type == 'radio')}
    <ul>
        {foreach from=$group.attributes key=id_attribute item=group_attribute}
            <li>
                <label>
                  <input type="radio" class="attribute_radio" name="{$groupName|escape:'html':'UTF-8'}" value="{$id_attribute}" {if ($group.default == $id_attribute)} checked="checked"{/if} />
                  <img src="{$img_dir}attributes/{$id_attribute}.jpg" alt="{$group_attribute|escape:'html':'UTF-8'}">
                </label>
            </li>
        {/foreach}
    </ul>
{/if}

 

Link to comment
Share on other sites

  • 1 month later...

Bonjour, 

La solution d'Eolia est très bien. J'apporte une seconde solution, on peut le faire également en CSS. En combinant attributs et une balise exprès, avec un sélecteur CSS, on peut utiliser "background-image" par exemple. 

Les deux se valent (le TPL a l'avantage d'être plus simple à gérer, attention à l'intégrer au bon endroit par contre pour éviter les soucis de requête panier)

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