Accueil

Référence développeur · PrestaShop

Websource Google Reviews pour PrestaShop — référence développeur

Hooks, méthodes statiques, table, route, bloc Builder et données structurées du module Websource Google Reviews.

Version 1.7.0 · PrestaShop 1.7 à 9.x · Mis à jour le 09/10/2026

Guide utilisateur

Hooks utilisés

HookRôle
moduleRoutesRoute module-websourcegooglereviews-avis : règle = WEBSOURCEGOOGLEREVIEWS_SLUG (défaut avis-clients), contrôleur avis.
displayWebsourceReviewsBadge de note (étoiles, note sur 5, nombre d'avis, lien). À appeler dans le thème : {hook h='displayWebsourceReviews'}. Vide tant qu'aucune note n'existe.
displayFooterProductBloc « Avis clients » de repli sur une fiche produit sans avis propre.
displayProductRatingBadge de note près du titre, pour les thèmes qui appellent ce hook (Warehouse, thèmes non reconnus).
displayProductAdditionalInfoMême badge pour Classic et Hummingbird, qui n'appellent pas displayProductRating.
displayHeaderJSON-LD de la page des avis.
actionFrontControllerSetMediaviews/css/front.css (badge).
actionWebsourceBuilderRegisterBlocksBloc « Avis Google » de Websource Builder.
actionWebsourceThemeExport, actionWebsourceThemeImportSection googlereviews (version 1) : adresse de la page et libellé de la source uniquement. Avis et notes ne sont jamais exportés.

Page publique

Contrôleur controllers/front/avis.php, template views/templates/front/avis.tpl, feuille views/css/avis.css.

  • Avec URL simplifiées : https://boutique.example/avis-clients.
  • Sans URL simplifiées : index.php?fc=module&module=websourcegooglereviews&controller=avis.

WebsourceGooglereviews::getPageUrl() renvoie toujours <base>/<slug> (forme réécrite).

Variables Smarty : $ws_aggregate, $ws_reviews, $ws_page_url, $ws_shop_name, $ws_theme (classic, hummingbird, warehouse, other).

API PHP

$a = WebsourceGooglereviews::getAggregate();
// ['rating' => 4.3, 'count' => 6, 'best' => 5, 'worst' => 3, 'imported_at' => '2026-10-09', 'source' => 'Google']

$reviews  = WebsourceGooglereviews::getReviews();          // tous les avis, par position
$complete = WebsourceGooglereviews::getCompleteReviews();  // 4-5 étoiles, texte non tronqué
$rows     = WebsourceGooglereviews::parseBulkText("5|Marie D.|Super accueil|mars 2026");
$family   = WebsourceGooglereviews::themeFamily();

getAggregate() : si la table contient des avis, moyenne arrondie à une décimale, nombre, note maximale et minimale ; sinon les valeurs de la « note globale ».

Intégration dans le JSON-LD d'un thème :

{assign var="wsgrAggregate" value=WebsourceGooglereviews::getAggregate()}
{if $wsgrAggregate.count > 0}
,"aggregateRating": {"@type": "AggregateRating", "ratingValue": "{$wsgrAggregate.rating}", "bestRating": "{$wsgrAggregate.best}", "worstRating": "{$wsgrAggregate.worst}", "reviewCount": "{$wsgrAggregate.count}"}
{/if}

Avec websourcethemeconfig, le nœud Organization reprend déjà ces valeurs.

Données

Clé / tableContenu
{prefix}websource_google_reviewid_websource_google_review, author, rating (1 à 5), age_text, visited_text, review_text, position
WEBSOURCEGOOGLEREVIEWS_RATING, _COUNT, _BEST, _WORSTNote globale manuelle.
WEBSOURCEGOOGLEREVIEWS_IMPORTED_ATDate du dernier enregistrement (AAAA-MM-JJ).
WEBSOURCEGOOGLEREVIEWS_SLUGAdresse de la page (défaut avis-clients).
WEBSOURCEGOOGLEREVIEWS_SOURCE_LABELLibellé de la source (défaut Google).

Formulaires de configuration

POST sur index.php?controller=AdminModules&configure=websourcegooglereviews&token=… :

BoutonChampsEffet
wsgr_save_aggregatewsgr_source_label, wsgr_rating, wsgr_count, wsgr_worst, wsgr_bestNote globale.
wsgr_paste_importwsgr_paste_textGoogleReviewsParser::parse() puis remplacement de tous les avis.
wsgr_bulk_importwsgr_bulk_textparseBulkText() puis remplacement de tous les avis.
wsgr_add_reviewwsgr_new_rating, wsgr_new_author, wsgr_new_textAjout d'un avis.
wsgr_delete_reviewid_reviewSuppression d'un avis.

Format reconnu par GoogleReviewsParser (texte français du panneau d'avis Google) : <Nom>Avis de Google<note>/5 · il y a <ancienneté><texte>Visité en <mois> [<année>], répété par avis. Format personnalisé : note|auteur|texte[|date de visite] (séparateur | ou ;, auteur vide = « Client »).

Repli sur les fiches produit

  • Désactivé pour un produit qui a un avis approuvé dans {prefix}iqitreviews_products (lecture seule).
  • Bloc : trois avis au plus, pris dans getCompleteReviews() à partir de id_product % nombre d'avis.
  • Aucun Review ni AggregateRating de niveau produit n'est émis.

Bloc Websource Builder

Classe GoogleReviewsBlock, libellé « Avis Google », catégorie « Boutique ».

ChampValeurs
Titredéfaut « Ils nous font confiance » ; vide = pas de titre
Présentationbadge Pastille compacte, banner Grand bandeau

Données structurées

Sur la page des avis, s'il existe des avis individuels : ItemList de Review (author, reviewRating 1 à 5, reviewBody, itemReviewed → {base}#organization). Pas de datePublished (la source ne donne que des durées relatives).

Templates et CSS

Surchargeables dans themes/<theme>/modules/websourcegooglereviews/views/templates/ : front/avis.tpl, hook/footer-badge.tpl, hook/product-rating-fallback.tpl, hook/product-reviews-fallback.tpl.

Classes : .ws-avis-page, .ws-avis-hero, .ws-avis-summary, .ws-avis-score, .ws-avis-stars, .ws-avis-grid, .ws-avis-card, .ws-footer-reviews, .ws-footer-reviews__stars, .ws-pdp-store-rating, .ws-pdp-reviews-fallback, .ws-gr-banner, .ws-theme-<famille>.