ACF (Advanced Custom Fields) & CPT (Custom Post Types) - PrestaShop Module

Presentation

ACF Field Builder est le module PrestaShop qui transforme votre boutique en veritable CMS flexible. Ajoutez des champs personnalises a vos produits, categories, pages CMS et fiches clients, puis creez vos propres types de contenus — le tout sans ecrire une seule ligne de code.

PrestaShop offre des champs limites pour vos produits et categories. Pour ajouter des informations specifiques a votre metier comme des specifications techniques, des FAQ, des badges ou des certifications, vous devez generalement modifier la base de donnees et coder des templates personnalises. ACF Field Builder elimine cette complexite : creez n'importe quel type de champ en quelques clics depuis le back-office, et les donnees sont automatiquement disponibles dans vos templates Smarty via une API simple et intuitive.

Points forts :

  • Plus de 15 types de champs disponibles (texte, image, video, repeater, relation...)
  • Custom Post Types avec URLs personnalisees et SEO optimise
  • Taxonomies pour categoriser et filtrer vos contenus
  • Multilingue natif sur tous les champs
  • Interface drag & drop pour reorganiser vos champs
  • Templates personnalisables via le systeme de surcharge PrestaShop
  • Systeme de widgets pour afficher vos CPT n'importe ou sur le site

Fonctionnalites

Advanced Custom Fields

Le coeur du module repose sur un systeme de groupes de champs que vous associez librement a vos entites PrestaShop. Creez un groupe, definissez ses regles de localisation (produits, categories, pages CMS, clients ou Custom Post Types), puis ajoutez les champs dont vous avez besoin. Chaque champ dispose d'options de validation, de presentation et de traduction multilingue.

Les types de champs couvrent tous les besoins : champs basiques (texte, textarea, editeur WYSIWYG, nombre, email, URL), champs de choix (select, checkbox, radio, true/false, notation etoiles), champs media (image, galerie, video YouTube/Vimeo, fichier telechargeable) et champs avances (repeater pour les groupes repetables, relation vers produits ou categories, selecteur de couleur, date et datetime).

Custom Post Types

Creez vos propres types de contenus independants du catalogue PrestaShop. Annonces immobilieres, portfolios, temoignages, guides, evenements, recettes — les possibilites sont illimitees. Chaque type de contenu dispose de son propre slug, de ses URLs personnalisables avec prefixe, d'une page d'archive optionnelle et de balises meta SEO configurables avec des variables dynamiques comme {title}, {shop_name} et {type_name}.

Taxonomies

Les taxonomies permettent de categoriser et filtrer vos contenus personnalises. Elles fonctionnent comme les categories de produits mais s'appliquent a vos Custom Post Types. Creez des taxonomies (Transaction, Type de bien, Budget...) puis definissez les termes associes (Vente, Location, Maison, Appartement...). Les taxonomies apparaissent dans la sidebar lors de l'edition d'un post pour une selection rapide.

CPT Widget System

Affichez les posts de vos Custom Post Types (blog, events, portfolio...) en dehors de leur page archive, directement sur votre page d'accueil, footer, ou n'importe ou sur votre site.

3 methodes d'integration au choix :

1. Via le back-office (hooks PrestaShop)

Ouvrez un type CPT dans le builder > Step 2 > section "Widget". Activez le widget, choisissez le hook (displayHome, displayFooter, etc.), le nombre de posts et le titre. Sauvegardez : le widget s'affiche automatiquement sur le front-office.

2. Via un tag Smarty (page builders, templates)

{acf_widget type="blog" limit="6"}
{acf_widget type="events" limit="3" title="Prochains evenements" show_view_all=false}
{acf_widget type="blog" template="module:wepresta_acf/views/templates/front/cpt/widget-blog.tpl"}

Fonctionne dans tous les templates .tpl et les blocs Smarty des page builders (Creative Elements, etc.).

3. Via un shortcode (contenu CMS)

[acf_widget type="blog" limit="6"]
[acf_widget type="blog" limit="3" show_title="false"]

Fonctionne dans les pages CMS et les descriptions (produits, categories).

Parametres disponibles :

Parametre Defaut Description
type requis Slug du type CPT
limit 6 Nombre de posts affiches
show_title true Afficher le titre
title nom du type Titre personnalise
show_view_all true Lien vers la page archive
template auto Template Smarty specifique (tag Smarty uniquement)

Templates overridables :

Creez un template specifique par type dans votre theme :

themes/{theme}/modules/wepresta_acf/views/templates/front/cpt/widget-blog.tpl

Integration front-office avec Smarty

La variable $acf est automatiquement disponible dans tous vos templates Smarty. Plusieurs methodes vous permettent d'afficher vos donnees : field() pour les valeurs textuelles echappees, raw() pour les donnees brutes, render() pour le rendu HTML formate des images et videos, label() pour les labels traduits des champs de choix, has() pour verifier l'existence d'une valeur, et repeater() pour boucler sur les champs repetables.

Pour afficher les champs ACF dans un listing produits, utilisez le prefetch batch disponible depuis la version 1.2.0 :

{assign var='pAcf' value=$acf->forProduct($product.id_product)}
{$pAcf->field('field_slug')}

Shortcodes

Integrez vos champs directement dans les pages CMS ou les descriptions produits via l'editeur WYSIWYG grace aux shortcodes : [acf field="marque"], [acf_render field="image"], [acf_group id="1"] ou encore [acf_repeater slug="specs"]...[/acf_repeater].

Installation

  1. Telechargez le fichier ZIP du module depuis PrestaShop Addons
  2. Dans le back-office PrestaShop, allez dans Modules > Gestionnaire de modules
  3. Cliquez sur Installer un module et selectionnez le fichier ZIP
  4. Une fois installe, cliquez sur Configurer

Le module cree automatiquement les tables necessaires dans votre base de donnees lors de l'installation et est immediatement fonctionnel.

Configuration

Groupes de champs

Accedez a l'interface via Modules > ACF Field Builder, onglet Advanced Custom Fields. Cliquez sur + Add Group pour creer un nouveau groupe. Renseignez le titre, verifiez le slug genere automatiquement, ajoutez une description optionnelle, puis definissez les regles de localisation pour associer le groupe aux entites souhaitees (produits, categories, pages CMS, clients ou Custom Post Types).

Configuration des champs

Chaque champ se configure via trois onglets : General Settings (titre multilingue, slug, instructions contextuelles, activation), Validation (champ obligatoire, valeurs min/max, expression reguliere) et Presentation (affichage du label en front-office, traduction de la valeur, classe CSS et ID HTML personnalises).

Types de contenus personnalises

Depuis l'onglet Custom Post Types, creez vos types de contenus avec un nom multilingue, un slug technique, une description et une icone Material Design. Configurez ensuite les URLs (prefixe, page d'archive) et les balises meta SEO avec les variables dynamiques disponibles.

Widgets CPT

Dans le builder de chaque type CPT, l'onglet Step 2 expose une section Widget permettant de configurer l'affichage automatique via les hooks PrestaShop sans ecrire de code. Voir la section CPT Widget System pour le detail complet des options.

Prerequis

  • PrestaShop 8.0+ ou 9.x
  • PHP 8.1 ou superieur
  • Extension PHP intl activee (pour le multilingue)
  • Acces au back-office avec droits administrateur

FAQ

Le module est-il compatible avec le multistore ?

Oui, les champs peuvent etre configures par boutique ou partages entre plusieurs boutiques en mode multistore.

Les donnees sont-elles conservees lors d'une mise a jour ?

Oui, toutes les donnees sont stockees dans des tables dediees et ne sont jamais supprimees lors des mises a jour du module.

Puis-je utiliser ACF sur plusieurs types d'entites en meme temps ?

Oui, un meme groupe de champs peut etre associe a plusieurs types de contenus via les regles de localisation. Par exemple, un groupe peut s'appliquer simultanement aux produits et aux categories.

Puis-je exporter et importer mes configurations ?

Oui, l'onglet Sync permet d'exporter vos groupes de champs en JSON et de les importer sur une autre boutique.

Le module est-il compatible avec mon theme ?

Oui, le module est compatible avec les themes Classic, Hummingbird et tous les themes conformes aux standards PrestaShop.

Quels types de Custom Post Types puis-je creer ?

Le module est entierement flexible : annonces immobilieres, articles de blog, portfolios, temoignages clients, guides, evenements, recettes, fiches techniques — tout type de contenu structure dont votre activite a besoin.

Comment afficher mes CPT hors de leur page archive ?

Utilisez le systeme de widgets CPT introduit en version 1.3.0. Trois methodes sont disponibles : via le back-office (hooks PrestaShop), via un tag Smarty dans vos templates, ou via un shortcode dans vos pages CMS. Consultez la section CPT Widget System pour le detail.

Support

Pour toute question technique ou demande d'assistance, contactez-nous via la messagerie PrestaShop Addons ou consultez la documentation incluse avec le module.

Changelog

Version 1.3.0

CPT Widget System

Nouvelle fonctionnalite majeure permettant d'afficher les posts de vos Custom Post Types (blog, events, portfolio...) en dehors de leur page archive — sur la page d'accueil, le footer, ou n'importe ou sur votre site — via trois methodes d'integration : hook PrestaShop depuis le back-office, tag Smarty dans les templates, ou shortcode dans les pages CMS. Les templates sont overridables par type directement depuis votre theme.

Templates archive refactorises

Les templates archive utilisent desormais des partials reutilisables (_partials/posts-grid.tpl, _partials/pagination.tpl). Aucun changement visuel — meme rendu qu'avant.

Fix

  • Correction de la sauvegarde des champs config et seo_config dans l'API de mise a jour des types CPT

Mise a jour

Uploadez les fichiers du module, puis cliquez "Upgrade" dans le back-office (Modules > WePresta ACF). Les hooks widget sont enregistres automatiquement. Aucune migration de base de donnees requise.


Version 1.4.0

Nouvelle structure de navigation

  • Section "ACF / CPT" dans la sidebar du back-office, remplaçant l'ancien onglet "WePresta"
  • Onglets ACF et CPT séparés, chacun extensible avec des sous-onglets dynamiques
  • Sous-onglets dynamiques pour chaque groupe ACF créé (apparaissent sous l'onglet ACF)
  • Sous-onglets dynamiques pour chaque type CPT créé (apparaissent sous l'onglet CPT)
  • Les sous-onglets se créent, se renomment et se suppriment automatiquement lors des opérations CRUD

Version 1.2.0

  • Prefetch ACF en batch pour les listings produits (actionProductSearchComplete)
  • Custom fields on product thumbnails
  • New Smarty helper for category pages integration
  • Improved field rendering performance

Pour utiliser le Smarty helper sur les thumbnails produits, inserez dans votre template :

{assign var='pAcf' value=$acf->forProduct($product.id_product)}
{$pAcf->field('field_slug')}

Version 1.0.0

  • Version initiale
  • 15+ types de champs personnalises
  • Custom Post Types avec URLs SEO
  • Systeme de taxonomies
  • Support multilingue natif
  • Interface drag & drop
  • Templates personnalisables
  • Shortcodes pour pages CMS
  • Export/Import JSON des configurations
  • Compatibilite PrestaShop 8.x et 9.x
Chargement...