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!

26 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)

Avatar

Magento liens | Recherche de Push-e

avril 19th, 2012 à 5 h 15 min

[...] vous accompagnera tout au long de vos projets de textiles publicitaires en 15 jours seulement.Les conditions générales de ventes sous Magento – Frédéric MARTINEZ – Freelance MAGE…Les conditions générales de ventes ne sont pas obligatoires, mais fortement recommandées. Il faut [...]

Avatar

tutela

août 17th, 2012 à 17 h 57 min

Trés bon tuto. ça marche parfaitement.

Avatar

Les conditions générales de ventes sous Magento | Blog Cercle-ecommerce

novembre 14th, 2012 à 21 h 38 min

[...] Les conditions générales de ventes sous Magento This entry was posted in Infos E-Commerce and tagged condition, conditions, contenu, Magento, [...]

Avatar

Olivier

février 11th, 2013 à 19 h 27 min

Bonjour, mon probleme est different, les CGU ne sont pas obligatoires, ont paut acceder aux pages de paiement sans les avoir cochés, savez vous comment les rendre obligatoire? Merci

Avatar

Geoffroy

juillet 26th, 2013 à 10 h 46 min

Excellent tutoriel, tout à parfaitement fonctionné du début à la fin. Rien à redire.

Avatar

sandra

mars 26th, 2014 à 14 h 40 min

bonjour j’aimerais que l’on puisse cliquer sur les conditions générales pour voir se qu’elle contiennent mais je ne trouve pas ou faire cela merci pour votre aide

Avatar

Frédéric Martinez

mars 26th, 2014 à 15 h 18 min

@sandra : Je ne peux vous aider malheureusement.
Il faut que vous ayez des compétences en HTML/CSS et en templating de Magento (voir le guide du designer Magento sur Google)

Avatar

Olivier

avril 12th, 2014 à 0 h 31 min

Bonjour,

Lorsque je ne coche pas la case « j’ai lu et j’accepte les conditions générales » une fenêtre d’alerte incompréhensible s’affiche, contenant mon message d’alerte prévu mais pas seulement : ainsi le message commence par un « span translate= »[{"shown&quot … »

Pourriez-vous me dire à quel endroit dans l’arborescence Magento cette alerte est-elle traitée, afin que je puisse chercher à debugger ?

Merci et bravo pour vos tutoriels remarquablement clairs !

Avatar

Frédéric Martinez

avril 14th, 2014 à 10 h 01 min

@Olivier : Cette erreur n’existe pas dans un Magento de base, c’est surement à cause d’une de vos modifications.

Je vous conseille de revenir sur le thème de base (default/default) pour voir si ce problème disparait. Si oui, cherchez dans vos fichiers, sinon, faite une recherche de votre erreur dans tout votre Magento. (Si c’est une alerte, c’est du JS, problème de traduction ? Je pense plus à un problème dans votre translate.csv ou vos fichiers de traduction de modules)

Avatar

Olivier

avril 21st, 2014 à 1 h 26 min

Bonjour et merci pour votre réponse. Après avoir vérifié partout (thème, fichiers de traduction) j’ai fini par trouver un patch en enlevant dans le fichier opcheckout.js les balises html qui étaient à tort incluses dans le message d’alerte …
Je ne sais toujours pas pourquoi ce message était ainsi mal formatté, mais dans l’immédiat ça a l’air de marcher …
Merci encore pour votre aide !

Avatar

Xavier

avril 22nd, 2014 à 17 h 39 min

Bonjour Frederic
encore une fois merci pour ce tuto

que j ai suivi a la lettre, ca marche a ceci pres :

toute la mise en page de mes cgv a disparue

(tout s affiche a la suite, sans espace, retour a la ligne, etc..)
alors qu en fin de commande , les cgv s affichent bien, avec la mise en page
(comme ce que j ai rempli dans le backoffice : ventes->cgv)

une idée ?

Avatar

Frédéric Martinez

avril 23rd, 2014 à 10 h 40 min

@Xavier : Je ne peux pas vous aider sur votre problème, c’est plus de l’ordre du problème PHP ou HTML que Magento.
Si vous avez suivi le tuto, tout devrait fonctionner.

Avatar

Xavier

avril 23rd, 2014 à 14 h 23 min

Bonjour
merci de m avoir répondu
je ne comprend vraiment pas ce qui se passe dans ma page statique !
j ai suivi le tuto :
creer la page statique, dans contenu j ai mis:

{{block type=’core/template’ name=’cgv’ template=’checkout/agreement/cgv.phtml’ idcgv=’1′}}

creer /checkout/agreement/cgv.phtml avec dedans :

load($this->getIdcgv())->getData(‘content’); ?>

la page statique s affiche bien, mais ma mise en page a disparue, alors que les CGV s affichent bien dans la commande … (ventes->cgv du backoffice)
c est un mystere !

Avatar

Xavier

avril 23rd, 2014 à 14 h 26 min

pardon, une ligne s est effacée :

creer /checkout/agreement/cgv.phtml avec dedans :

[phtml] load($this->getIdcgv())->getData(‘content’); ?>

Avatar

Xavier

avril 23rd, 2014 à 14 h 29 min

bon, a l envoi de mes 2 precedents messages le debut du code de cgv.phtml s efface … mais je l ai bien mis dans cgv.phtml !…

Avatar

Frédéric Martinez

avril 23rd, 2014 à 16 h 33 min

@Xavier : Essayez quelque chose comme :

$processor = Mage::helper('cms')->getPageTemplateProcessor();
echo $processor->filter($this->getIdcgv())->getData('content'));

Avatar

Xavier

avril 24th, 2014 à 17 h 30 min

merci pour tes efforts
ca ne marche pas du tout : ca ne m affiche plus du tout les cgv dans la page, et ca affiche tous les textes du header ( commande, panier, boutique de demo) entre {{{ }}} !

vais je devoir dupliquer tout le texte de ventes->cgv dans ma page statique ?
c est dommage !

Avatar

john

mai 16th, 2014 à 22 h 20 min

@Xavier : englobe le getModel avec un nl2br()

Avatar

Xavier

mai 20th, 2014 à 13 h 42 min

merci pour ta reponse john, mais si tu pouvais etre plus explicite …

Avatar

Frédéric Martinez

mai 20th, 2014 à 15 h 22 min

@Xavier : Même commentaire que fin avril, nous ne pouvons pas t’aider plus, malheureusement pour toi ce n’est pas un forum ici, et il est difficile de traiter tous les problèmes :(

Bonne continuation à toi !

Avatar

Xavier

mai 22nd, 2014 à 2 h 28 min

Merci john, je crois que tu ne pouvais vous pas etre plus explicite …
Merci Fred pour tout ce que tu fais
c est juste que j ai fait une pause de 20 ans dans le dev informatique, un peu rouillé ! c est pour ouvrir ma propre boutique, alors 100 000 choses a faire…
un petit coup de pouce est appréciable

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, fondateur de l'agence web e-commerce PH2M et anciennement étudiant en Master MIAGE à Toulouse.

Ce site présente mes réalisations professionnelles, personnelles et universitaires.

Magento Certified Developer Plus

rss_32 twitter_32 Magento

  • Vincent MARMIESSE: Bonjour, Attention depuis Magento 1.9.2.0, les blocs CMS sont en cache ! Cela ne pose pas de pro [...]
  • Java2dev: Bonjour, pour l'Etape 1 a quel niveau on met les codes? dans quel folder et c'est un fichier a edit [...]
  • manuel: Bonjour Frédéric, j'aimerais savoir comment enlever l'option de ( signature obligatoire ) de mon m [...]
  • Arsene: Bonjour a tous, j'aimerais savoir comment créer un module qui propose des options d'assurance su [...]
  • Frédéric Martinez: @Thomas : Il y aura toujours de la perte sur les personnes ne retournant pas sur la page de success. [...]