Accueil

Référence développeur · PrestaShop

Websource Account Block pour PrestaShop — référence développeur

Hooks, widget, variable Smarty, fichiers chargés selon le mode, réglage JSON et variables CSS du module Websource Account Block.

Version 1.4.0 · PrestaShop 1.7.7 à 9.x, PHP 7.1+, thème Websource Prestashop Theme (conseillé) · Mis à jour le 09/10/2026

Guide utilisateur

Cette extension existe aussi pour : WordPress

Vue d'ensemble

  • Module websourceaccountblock, espace de noms Websource\AccountBlock\ (PSR-4 dans src/), implémente WidgetInterface.
  • Un réglage JSON WSAB_SETTINGS, propre à chaque boutique (repli : groupe, puis valeur globale) : Settings\SettingsRepository::load(), normalisation par Settings\Settings.
  • Aucune table, aucun cache : rendu à chaque requête.

Hooks greffés

HookRôle
displayNav2Rendu du bloc (équivaut à renderWidget('displayNav2')).
actionFrontControllerSetMediaCharge les fichiers nécessaires aux modes actifs (voir ci-dessous).
actionWebsourceThemeExport, actionWebsourceThemeImportParticipation au paquet de thème de Websource Theme Config (ThemePackage\ThemePackage).

Fichiers chargés

Identifiants websourceaccountblock-<fichier> ; CSS en priorité 150 (front) et 151 (push, floating) ; scripts en bas de page.

FichierChargé quand
views/css/front.cssAu moins un mode actif (autre que none).
views/css/push.css, views/css/floating.cssLe mode correspondant est choisi (ordinateur ou mobile).
views/js/front.jsMenu flottant actif, ou client connecté avec menu déroulant ou push menu. Un visiteur sans menu flottant ne reçoit aucun script.
views/js/push.jsPush menu et client connecté.
views/js/floating.jsMenu flottant.

Widget

{widget name='websourceaccountblock'}

Gabarit : views/templates/hook/account.tpl. getWidgetVariables() renvoie ['wsab' => $vue], construite par Front\AccountViewBuilder::build(Settings $réglages, int $idLang, ?array $client) ($client = firstname, lastname ou null), complétée par uid (compteur d'instance, pour des identifiants HTML uniques). Les adresses sont produites par Front\LinkUrlResolver (objet Link, langue et boutique du contexte) ; les initiales par Front\CustomerInitials.

Balisage constaté : racine .wsab-root, variantes .wsab-variant, bloc .wsab (.wsab--guest pour un visiteur), bouton .wsab__toggle, lien .wsab__link.

Clés de WSAB_SETTINGS

CléValeurs (défaut en premier)
mode_desktop, mode_mobiledropdown, simple, push, floating, none
breakpoint768 ; de 320 à 1920
displayname (initiales + prénom), icon (initiales seules)
push_sideright, left
push_targetsélecteur CSS de la partie de page à pousser, main par défaut (repli sur body)
floating_sideright, left
floating_visibilitylogged, always
floating_offset0 ; de 0 à 300 px
orderordre des liens
enabledliens actifs
labelstextes par identifiant de langue : clés des liens + login, register, button, close

Clés de liens (Settings\LinkCatalog) : account, orders, addresses, identity, slips, vouchers (masqué si les règles panier sont inactives), wishlist (masqué si le module blockwishlist n'est pas actif), logout.

Variables CSS

Propres au module : --wsab-push-width (largeur du volet), --wsab-float-offset (marge du bouton flottant), --wsab-dir. Variables du thème lues avec valeurs de repli : --color-brand-600, --color-line, --wst-card-shadow…

Formulaire d'administration

getContent() ; soumission submitWsab traitée par Admin\SettingsFormHandler. Champs : mode_desktop, mode_mobile, breakpoint, display, push_side, push_target, floating_side, floating_visibility, floating_offset, enabled[<lien>], labels[<id_lang>][<clé>].

Compatibilité avec le thème Websource

Sur petit écran, l'en-tête du thème masque le conteneur .wsx-hdr__actions (où displayNav2 est rendu) et affiche ses propres icônes .wsx-hicon : le bloc du module, y compris en mode flottant, n'est alors pas visible (constaté à 390 px sur la boutique de test).

Test fourni

php modules/websourceaccountblock/tests/compat_test.php.