Image FIlter

1. Description du module

Le module Image Filter permet d'afficher des images cliquables sous forme de filtres sur les pages de catégories de la boutique PrestaShop. Il offre la possibilité de :

  • Définir des filtres par image.

  • Associer ces filtres à des catégories ou sous-catégories spécifiques.

  • Rediriger les utilisateurs vers des pages filtrées ou des URL spécifiques en cliquant sur les images.

Ce module est utile pour améliorer la navigation des utilisateurs et leur permettre d'appliquer des filtres visuels plus intuitifs.


2. Localisation des fichiers

Le module est situé dans le répertoire suivant de PrestaShop :

/modules/myimagefilter/

Fichiers principaux

Fichier

Rôle

myimagefilter.php

Fichier principal du module. Contient toute la logique métier et les hooks.

views/templates/hook/myimagefilter.tpl

Fichier .tpl responsable de l'affichage des filtres sur le front-office.

views/css/styles.css

Fichier CSS permettant de personnaliser l'apparence des images et des filtres.

img/filters/

Répertoire où les images des filtres téléversées via le back-office sont stockées.


3. Fonctionnalités principales

3.1 Affichage des filtres

Le module affiche des images sous forme de filtres sur les pages des catégories et sous-catégories.

  • Page principale : Les filtres sont directement associés aux pages de catégories par leur ID.

  • Sous-catégories : Grâce à une méthode récursive, le module récupère les sous-catégories pour inclure leurs filtres.

3.2 Gestion des filtres dans le back-office

Le module propose une interface dans le back-office pour :

  • Ajouter un filtre :

    • Définir l'ID de la catégorie.

    • Télécharger une image.

    • Définir un titre et une URL cible.

  • Modifier un filtre existant.

  • Supprimer un filtre existant.

Accès au module : Depuis le panneau d'administration de PrestaShop :

3.3 Table de base de données

Le module utilise une table dédiée pour stocker les informations des filtres :

Nom de la table : pss_image_filter

Structure :

Colonne

Type

Description

id_image_filter

INT (PK)

ID unique de l'image filtre.

id_page

INT

ID de la catégorie associée.

image_url

VARCHAR(255)

URL de l'image utilisée pour le filtre.

target_url

VARCHAR(255)

URL de destination lorsque l'image est cliquée.

title

VARCHAR(255)

Titre affiché sous l'image (optionnel).


4. Architecture et Code

4.1 Hooks utilisés

Le module utilise deux hooks principaux :

  • displayBeforeAmazingFilter : Permet d'afficher les filtres avant les filtres classiques de PrestaShop sur les pages de catégories.

  • header : Utilisé pour ajouter le fichier CSS à la page.

4.2 Méthodes importantes

Méthode

Description

getAllSubCategories()

Récupère récursivement toutes les sous-catégories associées à une catégorie donnée.

hookDisplayBeforeAmazingFilter()

Récupère les filtres pour une catégorie et ses sous-catégories, et les passe au fichier .tpl.

renderForm()

Génère le formulaire pour ajouter ou modifier un filtre dans le back-office.

renderList()

Affiche la liste des filtres existants dans le back-office. Inclut les sous-catégories associées.


5. Maintenance du module

5.1 Ajouter un nouveau filtre

  1. Accède au module via Modules > Image Filter Module.

  2. Remplis les champs requis dans le formulaire :

    • ID de la page : ID de la catégorie où le filtre sera affiché.

    • Image : Téléverse une image pour le filtre.

    • Titre : (Optionnel) Le texte affiché sous l'image.

    • URL cible : URL vers laquelle l'utilisateur sera redirigé en cliquant sur l'image.

  3. Clique sur Enregistrer.

5.2 Modifier ou supprimer un filtre

  • Modifier : Clique sur le bouton Modifier dans la liste des filtres.

  • Supprimer : Clique sur le bouton Supprimer et confirme.


6. Résultat final

Last updated