Les conditions générales de ventes sous Magento

Dans: Magento

7 juin 2010

Les conditions générales de ventes ne sont pas obligatoires, mais fortement recommandées. Il faut aussi respecter les contenus indispensables des parties de vos conditions générales de ventes.

Pour mettre en place les conditions générales de vente sous Magento, voici comme faire :

  1. Activer les conditions générales de vente
  2. (facultatif) Insérer les conditions générales de vente dans une page statique

Etape 1 : Activer les conditions générales de vente

  • Dans l’administration, allez sur : Ventes > Conditins générales de ventes > Ajouter une condition :

conditions-generales-vente-magento-0

  • Remplissez tous les champs de votre condition générale de ventes :

conditions-generales-vente-magento-1

  • Activez vos conditions générales de vente : Système > Configuration > Ventes > Régler mes achats (ou Commander) > Option de règlement > Enable Terms and Conditions > Oui :

conditions-generales-vente-magento-1-bis

C’est bon. Vos conditions générales de ventes sont activées, et elles sont à accepter à la dernière étape du processus de commande :

conditions-generales-vente-magento-1-ter

Etape 2 : (facultatif) Insérer les conditions générales de vente dans une page statique

Si vous désirez afficher vos conditions générales de ventes autre part qu’à la fin de votre processus de commande, dans une page statique par exemple, cela est tout à fait possible.

  • Notez tout d’abord l’identifiant de votre condition générale de vente (généralement, c’est l’identifiant #1) en retournant dans l’administration : Ventes > Conditions générales de ventes

conditions-generales-vente-magento-2

  • Ajoutez ceci dans le corps de votre page CMS que vous devez créer (CMS > Page > Ajouter une nouvelle page) :
{{block type='core/template' name='cgv' template='checkout/agreement/cgv.phtml' idcgv='1'}}

conditions-generales-vente-magento-3

  • Créez un fichier « cgv.phtml » dans le dossier : « /app/design/frontend/{votre_interface}/{votre_theme}/template/checkout/agreement » (ce dernier dossier n’existe pas) avec ceci en contenu :
echo Mage::getModel("checkout/agreement")->load($this->getIdcgv())->getData('content');

conditions-generales-vente-magento-4

Ce qui donne bien à l’affichage de la page CMS en front-office :

conditions-generales-vente-magento-5

Note optionnelle facultative : comme à chaque objet chargé dans Magento, si vous désirez récupérer tous les champs, n’hésitez pas à afficher son contenu :

$cgv = Mage::getModel("checkout/agreement")->load($this->getIdcgv())->getData();
Zend_Debug::dump($cgv);

Ce qui vous donnera :

<pre>array(8) {
  ["agreement_id"] => string(1) "1"
  ["name"] => string(32) "Conditions Générales de Ventes"
  ["content"] => string(407) "-- Contenu des conditions générales de vente --
fringilla ac, convallis at augue. Phasellus tristique justo libero, et volutpat elit. Mauris nec tellus vitae mauris sagittis tincidunt a in turpis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur vel metus risus. Donec laoreet, metus sed euismod ullamcorper, nunc dolor bibendum felis, nec sodales mauris odio ac velit. Su"
  ["content_height"] => string(0) ""
  ["checkbox_text"] => string(15) "Texte à cocher"
  ["is_active"] => string(1) "1"
  ["is_html"] => string(1) "1"
  ["store_id"] => array(1) {
    [0] => string(1) "1"
  }
}

Enjoy!

5 Commentaires pour Les conditions générales de ventes sous Magento

Avatar

Anthony

septembre 19th, 2011 à 16 h 10 min

Bonjour,
J’ai un soucis avec les cgv. J’ai un template customisé et la case à cocher et le texte n’apparaissent pas lors de la validation de la commande.
Est-ce qu’il a un bout de code à rajouter sur le checkout template ?
Merci pour votre aide,
Anthony

Avatar

Frédéric Martinez

septembre 19th, 2011 à 16 h 45 min

Bonjour,

Désactivez votre thème personnalisé et laissez default/default.
Votre case à cocher est-elle revenue ?
Si non : Problème de configuration (bien suivre ce tuto), ou problème au niveau de votre base de données
Si oui : Problème de votre thème, activez le débuggeur, regardez le chemin template du fichier correspondant au dernier stade de votre process de commande, et faites une différence entre ce fichier valide et votre fichier défectueux.

Frédéric.

Avatar

Luc

octobre 15th, 2011 à 18 h 16 min

Bonjour, même problème que Anthony. J’ai effectué un debuguage, tracé les fichiers de checkout. Mon template custom renvoi vers le système de paiement onepage integré à Magento et les fichiers utilisé sont donc les même. Pourtant, les CGV n’apparaissent pas… Que faire?

Merci d’avance !

Avatar

Luc

octobre 16th, 2011 à 10 h 02 min

Quelque chose à faire du côté du XML peut être ?

Avatar

Frédéric Martinez

novembre 22nd, 2011 à 14 h 18 min

Peut-être un remove dans un fichier XML en effet.

Je le répète : Avez-vous testé sur un Magento clean (un nouveau Magento ?) Si cela ne marche pas, c’est encore un problème de configuration.

Sinon, c’est un problème de votre thème :
1) Faire une diff des fichiers
2) Regarder le nom du block qui affiche les CGV. Allez voir dans vos fichiers de layout. Soit quelqu’un a supprimé l’appel (vérifier avec un Magento d’origine), soit il y a un remove de votre block quelque part. (que vous devriez trouver si vous recherchez votre block dans les layout)

Formulaire pour Commenter

Si vous en avez besoin, entourez votre code :

PHP : [php]echo $variable[/php]
XML : [xml]<default></default>[/xml]

Je m'appelle Frédéric Martinez.

Je suis Freelance Magento et anciennement étudiant en Master MIAGE à Toulouse.

Ce site présente mon CV ainsi que mes réalisations professionnelles, personnelles et universitaires.

rss_32 twitter_32 Magento

  • alexandre: Merci, c'est exactement ce dont j'avais besoin ! [...]
  • Frédéric Martinez: De base, non ce n'est pas possible. Cependant, cela doit se jouer dans les configurations JS de cal [...]
  • Peter: le tuto est génial, il est tres utile pour les débutants comme moi. Mais j'ai une petite que [...]
  • Frédéric Martinez: @martin : Non cela ne marche pas avec un Magento 1.6.2.0 par exemple car la table sales_order n'exis [...]
  • martin: Bonjour, ce code marche -t-il toujours sur les nouvelles version de magento ? merci [...]