Jump to content

Déplacer attribut couleur sous l'image produit


Guest

Recommended Posts

Bonjour,

 

Je suis en train de finaliser ma boutique sous prestashop 1.5.4.0 mais j'aimerais faire une modification sur la fiche produit au niveau des attributs couleur. J'ai beaucoup de déclinaison de couleur sur certains de mes produits, je voudrais donc dépacer ces déclinaisons sous l'image du produit. J'ai fais une première tentative comme cela (sa se passe dans le fichier product.tpl du thème) :

 

ligne 217 :

 

{if $group.attributes|@count}

 

remplacé par :

 

{if $group.attributes|@count && $group.group_type == 'color'}

 

Cela empêche le foreach de créer les déclinaisons de couleur pour le produit, j'ai donc enlever la partie correspondante que j'ai déplacer dans une div que j'ai créer en dessous de l'image produit ce qui donne :

 

   	 <div id="color_picker_container">
       {if isset($groups)}
               <!-- attributes -->
               <div id="attributes">
               {foreach from=$groups key=id_attribute_group item=group}
                   {if $group.attributes|@count && $group.group_type == 'color'}
                       <fieldset class="attribute_fieldset {if $group.group_type == 'color'}color_picker{/if}">
                           <label class="attribute_label" for="group_{$id_attribute_group|intval}">{$group.name|escape:'htmlall':'UTF-8'} :</label>
                           {assign var="groupName" value="group_$id_attribute_group"}
                           {if ($group.group_type == 'color')}
                               <ul id="color_to_pick_list" class="clearfix">
                                   {assign var="default_colorpicker" value=""}
                                   {foreach from=$group.attributes key=id_attribute item=group_attribute}
                                   <li{if $group.default == $id_attribute} class="selected"{/if}>
                                       <a id="color_{$id_attribute|intval}" class="color_pick{if ($group.default == $id_attribute)} selected{/if}" style="background: {$colors.$id_attribute.value};" title="{$colors.$id_attribute.name}" onclick="colorPickerClick(this);getProductAttribute();{if $colors|@count > 0}$('#wrapResetImages').show('slow');{/if}">
                                           {if file_exists($col_img_dir|cat:$id_attribute|cat:'.jpg')}
                                               <img src="{$img_col_dir}{$id_attribute}.jpg" alt="{$colors.$id_attribute.name}" width="20" height="20" /><br>
                                           {/if}
                                       </a>
                                   </li>
                                   {if ($group.default == $id_attribute)}
                                       {$default_colorpicker = $id_attribute}
                                   {/if}
                                   {/foreach}
                               </ul>
                           {/if}
                       </fieldset>
                   {/if}
               {/foreach}
       {/if}
       </div>

 

Il me restait plus qu'à faire un peu de CSS et le tour était jouer mais malheureusement du fait de ce déplacement de code, la disponibilité du produit indique que le produit n'existe pas dans cette déclinaison mais que je peux en choisir une autre.

 

Comment résoudre ce problème ?

 

Cordialement,

Link to comment
Share on other sites

  • 2 weeks later...

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