Jump to content

Cacher un attribut à un groupe de clients - Comment faire ?


Thomas G.

Recommended Posts

Bonjour à toute la communauté,

 

C'est mon premier message, alors j'en profite pour vous remercier de toutes les réponses que j'ai pu obtenir en navigant sur ce forum lorsque j'ai eu des problèmes ou des questions avec mes sites sous Prestashop... c'est très appéciable ;)

 

 

Voilà mon problème, s'il vous plaît, auquel je n'ai pas encore trouvé de réponse : Sur mon site, pour faire court, j'ai deux principaux groupes de clients : les particuliers et les professionnels.

Les PARTICULIERS doivent pouvoir bénéficier d'une garantie (que j'ai configuré comme un attribut "GARANTIE" : comprenant deux choix "Sans garantie" et "Avec garantie").

En revanche, j'aimerais que lorsqu'un client est connecté en tant que PROFESSIONNEL, il ne puisse plus avoir ce choix (et donc que cela reste par défaut sur "sans garantie").

 

Donc concrètement, je voudrais offrir à un groupe de clients la possibilité d'utiliser un attribut, et l'empêcher à un autre.

 

Pour info, je connais plus ou moins le HTML et le CSS, mais très peu le PHP, d'où probablement ce petit blocage...

 

 

Merci d'avance pour votre aide !

 

 

PS : Je joins au message une capture d'écran de l'attribut dans son contexte, auquel seuls les particuliers devraient avoir accès : post-1199694-0-63729600-1459429307_thumb.jpg

Edited by Thomas G. (see edit history)
Link to comment
Share on other sites

Pour info, ma version de Prestashop est la 1.6.1.4 et mon thème est "Magica".

 

Et voilà le code correspondant à mes attributs, sur mon fichier products.tpl : 

<!-- attributes -->

<div id="attributes">

<div class="clearfix"></div>
{foreach from=$groups key=id_attribute_group item=group}
{if $group.attributes|@count}

<fieldset class="attribute_fieldset">
<label class="attribute_label" {if $group.group_type != 'color' && $group.group_type != 'radio'}for="group_{$id_attribute_group|intval}"{/if}>{$group.name|escape:'html':'UTF-8'} : </label>
{assign var="groupName" value="group_$id_attribute_group"}

<div class="attribute_list">
{if ($group.group_type == 'select')}

<select name="{$groupName}" id="group_{$id_attribute_group|intval}" class="form-control attribute_select no-print">
{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:'html':'UTF-8'}">{$group_attribute|escape:'html':'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 href="{$link->getProductLink($product)|escape:'html':'UTF-8'}" id="color_{$id_attribute|intval}" name="{$colors.$id_attribute.name|escape:'html':'UTF-8'}" class="color_pick{if ($group.default == $id_attribute)} selected{/if}" style="background: {$colors.$id_attribute.value|escape:'html':'UTF-8'};" title="{$colors.$id_attribute.name|escape:'html':'UTF-8'}">
{if file_exists($col_img_dir|cat:$id_attribute|cat:'.jpg')}
<img src="{$img_col_dir}{$id_attribute|intval}.jpg" alt="{$colors.$id_attribute.name|escape:'html':'UTF-8'}" width="20" height="20" />
{/if}
</a>
</li>

{if ($group.default == $id_attribute)}
{$default_colorpicker = $id_attribute}
{/if}
{/foreach}

</ul>

<input type="hidden" class="color_pick_hidden" name="{$groupName|escape:'html':'UTF-8'}" value="{$default_colorpicker|intval}" />
{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}

</div> 



<!-- end attribute_list -->

</fieldset>
{/if}
{/foreach}

</div> 

<!-- end attributes -->
{/if}

</div> 
<!-- end product_attributes -->

Merci beaucoup...

Link to comment
Share on other sites

Si ça peut aider, j'essaye de préciser ma demande, en gros çà devrait donner quelque chose comme çà 

{if $checkcustomer->id_default_group==1 || $checkcustomer->id_default_group==2 || $checkcustomer->id_default_group==3}
<!-- AFFICHAGE DE MON ATTRIBUT ID=7 -->
{else}
<!-- MASQUAGE DE MON ATTRIBUT ID=7 -->
{/if}

Voilà un exemple de ce que ça pourrait donner... Si mon client est dans le groupe 1, 2 ou 3 (soit, particulier), on affiche la catégorie 7 ; sinon (si il est dans une autre catégorie, donc professionnel), on masque/désactive la catégorie 7.

 

Je suis bloqué à ce niveau, si quelqu'un peut me dépanner ça serait top...!

 

Merci !

Link to comment
Share on other sites

×
×
  • Create New...