Petite découverte de la semaine d’une possibilité relativement pratique d’ajouter des conditions à valider dans le tunnel de commande.

La bonne nouvelle c’est que c’est très facile à faire via un module puisqu’il existe un hook pour cela 🙂
Voyons donc cela dans un module hhcgv dont voici le code

<?php
if (!defined('_PS_VERSION_')) {
    exit;
}
 
//Attention à bien include ceci
use PrestaShop\PrestaShop\Core\Checkout\TermsAndConditions;
 
class Hhcgv extends Module
{
 
    public function __construct()
    {
        $this->name = 'hhcgv';
        $this->tab = 'others';
        $this->version = '0.1.0';
        $this->author = 'hhennes';
        $this->bootstrap = true;
        parent::__construct();
 
        $this->displayName = $this->l('Module de demo cgv');
        $this->description = $this->l('Ajout de cgv personnalisées');
    }
 
    /**
     * Installation du module
     * @return bool
     */
    public function install()
    {
        if (
            !parent::install()
            || !$this->registerHook('termsAndConditions')
        ) {
            return false;
        }
 
        return true;
    }
 
    /**
     * Nouvelles conditions de commandes
     * @param array $param
     * @return array
     */
    public function hookTermsAndConditions($param)
    {
 
        $conditions = [];
        //Définition des conditions (ici c'est du texte direct )
        // mais vous pouver récupérer le contenu d'une page cms également
        $termsAndConditions = new TermsAndConditions();
        $termsAndConditions
            ->setText(
                "Je rajoute une condition "
            )
            ->setIdentifier('conditions-sup-1');
        $conditions[] = $termsAndConditions;
 
        $termsAndConditions2 = new TermsAndConditions();
        $termsAndConditions2
            ->setText(
                "Je rajoute encore une condition "
            )
            ->setIdentifier('conditions-sup-2');
        $conditions[] = $termsAndConditions2;
 
        //Renvoyer les conditions
        return $conditions;
    }
 
}

Les conditions sont bien à valider par les clients pour qu’ils puissent passer commande, il n’y a rien de plus à faire 🙂