Les briques qui donnent de l’autonomie aux équipes contenu et marketing sans sacrifier la performance. 10 fonctionnalités dans ce socle.
Blog éditorial
Objectif : Publier et organiser des contenus blog dans Shopware.
Le blog gère les listings, catégories, auteurs, pages détail, redirections legacy, SEO URLs, pagination, métadonnées et sitemap. Il peut être alimenté par Storyblok ou par import legacy.
Fonctionnement
Des entités blog stockent les contenus. Les controllers storefront et page loaders construisent les pages, tandis que les commandes importent ou reconstruisent les données SEO.
Intégration Storyblok
Objectif : Connecter Shopware à un CMS headless.
FroggShop gère le rendu de pages Storyblok, la preview, les webhooks de cache, la synchronisation de contenus et les commandes de dump/restore de structure.
Fonctionnement
Les controllers appellent les services Storyblok, récupèrent les stories, les transforment en rendu storefront et invalident le cache lors des webhooks ou synchronisations.
Synchronisation de structure Storyblok
Objectif : Maintenir les schémas CMS entre environnements.
Les composants Storyblok peuvent être exportés, versionnés et restaurés pour synchroniser DEV, PREPROD ou autres espaces.
Fonctionnement
Des commandes lisent la structure des composants Storyblok, l'écrivent dans des fichiers versionnés puis peuvent la restaurer dans un autre espace cible.
Content Renderer headless
Objectif : Insérer du contenu CMS headless dans le storefront.
Le renderer permet d'injecter des contenus Storyblok ou modules CMS dans les templates, avec prise en charge Twig, modules dédiés et rendu compatible cache.
Fonctionnement
FroggShop décore le renderer CMS, résout les modules headless, prépare les variables Twig et retourne du HTML exploitable dans les pages Shopware.
Shortcodes éditoriaux
Objectif : Enrichir dynamiquement des contenus texte ou CMS.
Les shortcodes permettent de transformer des marqueurs éditoriaux en rendus HTML ou composants, utilisables notamment dans le blog et les surfaces CMS globales.
Fonctionnement
Un expander détecte les tokens dans le contenu, délègue chaque shortcode à un handler dédié puis remplace le marqueur par le rendu final.
Header et footer dynamiques
Objectif : Piloter les zones globales du site via CMS.
Les en-têtes et pieds de page peuvent être rendus depuis Storyblok avec stratégies de cache HTML ou ESI pour conserver de bonnes performances.
Fonctionnement
Des pagelets récupèrent les contenus globaux, les rendent via Storyblok et les exposent en HTML direct ou en fragment ESI selon la configuration.
Formulaires CMS génériques
Objectif : Transformer des formulaires Storyblok en interactions Shopware.
Les formulaires génériques gèrent validation, captcha, rate limit, token, cache et émission d'événements Flow Builder. Ils permettent de créer des formulaires sans développement spécifique.
Fonctionnement
Le controller reçoit la soumission, recharge la définition du formulaire, valide les champs et sécurités, puis dispatch un événement Flow avec les données nettoyées.
Robots.txt piloté
Objectif : Administrer le contenu robots.txt.
FroggShop expose une route robots.txt configurable, avec rendu dédié et possibilité de gérer les restrictions selon le contexte, notamment les domaines d'administration.
Fonctionnement
La route `/robots.txt` appelle un renderer qui assemble le contenu selon la configuration active et le contexte de domaine.
Analytics et tag management
Objectif : Configurer les scripts de mesure et marketing.
Des configurations dédiées permettent d'intégrer Google Analytics, Google Tag Manager ou des tags marketing depuis l'administration.
Fonctionnement
Les valeurs configurées sont lues par le storefront ou les templates pour injecter les identifiants et scripts uniquement quand ils sont actifs.
SEO éditorial
Objectif : Gérer les métadonnées et données SEO.
FroggShop ajoute des entités et services pour gérer les données SEO, nettoyer les métadonnées et produire des URLs optimisés pour les contenus éditoriaux.
Fonctionnement
Les contenus éditoriaux sont enrichis avec titres, descriptions, aliases et routes SEO. Des commandes peuvent nettoyer ou régénérer les métadonnées.