Vous avez plusieurs groupes de client comme dans notre exemple en plus des groupes de base (Visiteur, Invité, Client) nous avons créé (Premium & Vip)
Groupes :
1. Editer le controller qui gère l'espace client afin d'envoyer au fichier smarty dans une variable le groupe du client (vous pouvez utiliser l'override) :
/controllers/front/MyAccountController.php
2. Ajouter ces 3 lignes :
global $cookie;
$groups=Customer::getGroupsStatic($cookie->id_customer);
'group' => $groups[0],
3. Le code doit ressembler à :
public function initContent() { global $cookie; parent::initContent(); $groups=Customer::getGroupsStatic($cookie->id_customer); $has_address = $this->context->customer->getAddresses($this->context->language->id); $this->context->smarty->assign(array( 'has_customer_an_address' => empty($has_address), 'voucherAllowed' => (int)CartRule::isFeatureActive(), 'group' => $groups[0], 'returnAllowed' => (int)Configuration::get('PS_ORDER_RETURN') )); $this->context->smarty->assign('HOOK_CUSTOMER_ACCOUNT', Hook::exec('displayCustomerAccount')); $this->setTemplate(_PS_THEME_DIR_.'my-account.tpl'); }
4. Modifier le fichier .tpl d'affichage de l'espace client :
/themes/default-bootstrap/my-account.tpl
5. A l'endroit ou vous voulez afficher le nom du groupe il suffit d'insérer la ligne de code ci-dessous :
{if $group==4} Premium {elseif $group==5} Vip {else} Normal {/if}
A la place d'afficher le nom vous pouvez aussi afficher une image différente en fonction du groupe :
{if $group==4} <img src="{$img_dir}premium.jpg" alt="Premium" /> {elseif $group==5} <img src="{$img_dir}vip.jpg" alt="Vip" /> {/if}
Le résultat en image :
- PrestaShop 1.7 - Dernière version
- Module vidéo Youtube Prestashop
Laisser un commentaire