Jump to content

Selection Couleur par Liste ?


Recommended Posts

Bonjour, sur PS 1.4 le passage en type d'attribut "couleur" laissait la liste déroulante, maintenant elle est supprimée, comment la rajouter ? J'ai énormément de couleurs à gérer et cela devient presque impossible de retrouver une référence de couleur facilement :

955214colors.png

 

Merci...

Link to comment
Share on other sites

Dans le "product.tpl" de base 1.5, il y'a deux codes différents pour l'affichage des couleurs, j'ai l'impression que dans le premier code le sélecteur de couleurs fait une update sur une liste <select>/<option> ? updateColorSelect ?

 

 {*{if isset($colors) && $colors}
 <!-- colors -->
 <div id="color_picker">
  <p>{l s='Pick a color:' js=1}</p>
  <div class="clear"></div>
  <ul id="color_to_pick_list" class="clearfix">
  {foreach from=$colors key='id_attribute' item='color'}
<li><a id="color_{$id_attribute|intval}" class="color_pick" style="background: {$color.value};" onclick="updateColorSelect({$id_attribute|intval});$('#wrapResetImages').show('slow');" title="{$color.name}">{if file_exists($col_img_dir|cat:$id_attribute|cat:'.jpg')}<img src="{$img_col_dir}{$id_attribute}.jpg" alt="{$color.name}" width="20" height="20" />{/if}</a></li>
  {/foreach}
  </ul>
  <div class="clear"></div>
 </div>
 {/if}*}

 

Voici le onclick du second code d'affichage des couleurs :

onclick="colorPickerClick(this);getProductAttribute();{if $colors|@count > 0}$('#wrapResetImages').show('slow');{/if}"

 

Dans quel cas est appellé le premier code pour les couleurs ? Dans mon cas c'est le deuxième qui est parsé, je n'ai rien trouvé dans le back office.

 

Merci.

Link to comment
Share on other sites

  • 3 weeks later...

J'ai rajouté le code contenu dans "{if ($group.group_type == 'select')}" a la fin de "{elseif ($group.group_type == 'color')}"

Le select pour les couleurs s'affiche bien mais n'est pas synchronisé avec la palette/nuancier. Quel code ajouter pour faire cette synchronisation ? voici mon div attribute_list actuel :

<div class="attribute_list">
   {if ($group.group_type == 'select')}
    <select name="{$groupName}" id="group_{$id_attribute_group|intval}" class="attribute_select" onchange="findCombination();getProductAttribute();{if $colors|@count > 0}$('#wrapResetImages').show('slow');{/if};">
	 {foreach from=$group.attributes key=id_attribute item=group_attribute}
	  <option value="{$id_attribute|intval}"{if (isset($smarty.get.$groupName) && $smarty.get.$groupName|intval == $id_attribute) || $group.default == $id_attribute} selected="selected"{/if} title="{$group_attribute|escape:'htmlall':'UTF-8'}">{$group_attribute|escape:'htmlall':'UTF-8'}</option>
	 {/foreach}
    </select>
   {elseif ($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>
    <input type="hidden" class="color_pick_hidden" name="{$groupName}" value="{$default_colorpicker}" />
    <select name="{$groupName}" id="group_{$id_attribute_group|intval}" class="attribute_select" onchange="findCombination();getProductAttribute();{if $colors|@count > 0}$('#wrapResetImages').show('slow');{/if};">
	 {foreach from=$group.attributes key=id_attribute item=group_attribute}
	  <option value="{$id_attribute|intval}"{if (isset($smarty.get.$groupName) && $smarty.get.$groupName|intval == $id_attribute) || $group.default == $id_attribute} selected="selected"{/if} title="{$group_attribute|escape:'htmlall':'UTF-8'}">{$group_attribute|escape:'htmlall':'UTF-8'}</option>
	 {/foreach}
    </select>
   {elseif ($group.group_type == 'radio')}
    {foreach from=$group.attributes key=id_attribute item=group_attribute}
	 <input type="radio" class="attribute_radio" name="{$groupName}" value="{$id_attribute}" {if ($group.default == $id_attribute)} checked="checked"{/if} onclick="findCombination();getProductAttribute();{if $colors|@count > 0}$('#wrapResetImages').show('slow');{/if}">
	 {$group_attribute|escape:'htmlall':'UTF-8'}<br/>
    {/foreach}
   {/if}
   </div>

Link to comment
Share on other sites

  • 2 months later...

Bonjour,

 

Je me permet de faire remonter le topic car depuis que j'ai fait la mise à jour j'ai également le même soucis, certain de mes produits ont un nuancier composé d'une cinquantaine de teintes, j'ai besoin d'avoir comme sur la 1.4 le nuancier ET la liste déroulante en même temps

Link to comment
Share on other sites

  • 2 months later...
  • 1 month 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...