29-11-2011 : Remettre dans le débat politique les principes du Conseil National de la Résistance
17-02-2012 : Pétition pour une protection de l’apiculture et des consommateurs face au lobby des OGM
Logo de mon site
Logo de mon site
Faire un don




Right menu

Logo du site ez.no  Logo XHTML 1.O du W3C  Logo XHTML 1.O du W3C  Site francophone officiel de Firefox
zero papier grâce aux catalogues et promos en ligne de bonial

Webshop -- e-commerce (3.9)

Date de publication: le jeudi 27 janvier 2011 à 17h02
Dernière modification: par Pascal BOYER le jeudi 27 janvier 2011 à 17h13

10/05/2006 10:50

versions 3.9

This section explains the e-commerce capabilities of eZ publish. The system comes with an integrated shop mechanism that plugs directly into the object / node tree model. The webshop functionality is built around the following components:
Ce chapitre décrit les possibilités offertes par le mécanisme de e-commerce intégré à eZ publish. Ce mécanisme, directement lié au modèle d'arbre d'objets/de nœuds, est construit autour des composants suivants:

  • Products
    Les produits
  • Value Added Taxes (VATs)
    Les TVA (Taxes sur la valeur ajoutée)
  • Discount rules
    Les règles de remises (les soldes)
  • Wishlist
    Les listes de souhaits (listes d'achats)
  • Basket
    Le panier de provision
  • Orders
    Les ordres d'achat

The following illustration shows how the different components interconnect and work together.
L'illustration suivante montre comment sont interconnectés les différents composants et comment ils fonctionnent ensemble:

La solution intégrée de e-commerce de eZ publish

An actual product is represented by a content object (with at least one node assignment) that contains information about the product itself along with a price. The price must be represented by an attribute that makes use of the built-in price or multi-price datatype. These are special datatypes which plug more deeply into the system. The main difference is that the price datatype allows to specify only one price value for each object (simple price product) whereas the multi-price datatype makes it possible to specify several price values in different currencies for each object (multi-price product). A content class can only contain one price attribute or one multi-price attribute. There is no way to have a simple price product and a multi-price one in the shopping basket at the same time and it is not recommended to use both price and multi-price datatype on your site.
Un produit est représenté par un objet de contenu (assigné à au moins un nœud) contenant les informations sur le produit ainsi que son prix. Le prix doit être représenté par un attribut utilisant les datatypes prédéfinis Prixou Prix multiple. La principale différence entre ces deux datatypes, profondément liés au système, est que le datatype Prixne permet de spécifier qu'un seul prix à chaque objet (on parle de produit mono prix) alors que le datatype Prix multiplepermet d'attribuer à chaque objet plusieurs prix en différentes unités monétaires (on parle de produit multi-prix). Une classe de contenu ne peut contenir qu'un seul attribut Prixou qu'un seul attribut Prix multiple. Il n'existe aucun moyen d'avoir en même temps dans un panier un produit mono prixet un produit multi-prix. Et d'ailleurs, il n'est pas recommandé d'utiliser simultanément sur un même site les deux datatypes Prixet Prix multiple.

The price can be affected by a value added tax and/or a discount rule. A discount rule can be configured to reduce the price of certain products by a percentage. The products can be put into a user's wishlist and/or shopping basket. A user's wishlist and basket can be modified at any time. The contents of the shopping basket can be purchased by initiating the checkout process. Once the checkout process is completed, an order will be created. The system will automatically notify the site administrator and the user who placed the order by sending out E-mails. A list of placed orders and sales statistics can be viewed using the administration interface. An order is assigned a status which may be changed by a user with sufficient permissions. A status log is kept for each order.
Le prix d'un objet peut être affecté par une Taxe sur la Valeur Ajoutée ou bien par une remise (règle de remise). Une règle de remise peut être configurée pour baisser le prix de certains produits de x pour cent (%). Les clients peuvent ajouter des produits à leur liste d'achat ou à leur panier d'achats, ces deux éléments pouvant être modifiés à tout moment par le client. Le contenu du panier d'achats peut être acheté en initiant le processus de règlement. Une fois ce processus terminé, un ordre d'achat (une commande) est créé. Le système avertira automatiquement par mail l'administrateur du site et le client. Une liste des commandes (???) et les statistiques de vente peuvent être affichées à partir de l'interface d'administration. Une commande est assignée à un statut pouvant être modifié par un utilisateur ayant les droits suffisants. Une trace (des logs) des statuts est conservée pour chaque commande.

Value added taxes / Taxes sur la Valeur Ajoutée

The system allows the site administrator to set up different kinds of value added taxes (VAT types). A VAT type consists of a name and a percentage. The administration interface makes it possible to add, remove and modify VAT types. The VAT types are used by the price and multi-price datatype. There is an additional possibility to create VAT charging rules which instruct the system to charge VATs according to the product category and the buyer's country. (Please refer to the VAT charging system section of the "Features" chapter for more information.)
Le système permet à l'administrateur du site de paramétrer différentes sortes de Taxes sur la Valeur Ajoutée (différents types de TVA). Un type de TVA, constitué d'un nom et d'un pourcentage et pouvant être ajouté, supprimé ou modifié à partir de l'interface d'administration, est utilisé par les deux datatypes Prixet Multi-prix. Il existe encore une autre possibilité de créer une TVA: en appliquant des règles qui indiquent au système d'appliquer la TVA en fonction de la catégorie du produit et du pays de résidence du client. Référez-vous à l'article Système d'application de la TVA de la section Fonctionnalités pour de plus amples informations.

The price datatype / Le datatype Prix

As pointed out above, a product is nothing more than a content object with a price. The price can be represented by an attribute that makes use of the built-in price datatype. Instances of any class containing the price datatype will automatically be treated as simple price products. A class attribute represented by the price datatype makes use of one of the predefined VATs. There are two ways in which the selected VAT can be used. This configuration depends on how the product prices are entered when the objects are created. The first alternative (Price inc. VAT) is to be used if the prices that are entered already include the value added tax. The second alternative (Price ex. VAT) should be used if the prices that are entered do not contain the value added tax. When the first alternative is used and the product is viewed, the price that was entered will be shown. When the second alternative is used and the product is viewed, the price will be the price that was entered plus the VAT. When the object is in the basket and the basket is viewed, it is possible to see the price of the products with and without the VATs (regardless of which approach that was used).
Comme mentionné précédemment, un produit n'est rien d'autre qu'un objet de contenu affecté d'un prix pouvant être représenté par le datatype prédéfini Prix. Les instances de n'importe quelle classe contenant le datatype Prixseront automatiquement traitées en tant que produits mono prix. Un attribut de classe représenté par le datatype Prixutilise une des TVA prédéfinies. Il y a deux façon d'utiliser les TVA et sa configuration dépend de la manière d'entrer les prix des produits lors de la création des objets. La première méthode (Prix TTC) doit être utilisée lorsque les prix fixés incluent déjà la TVA. A l'inverse, la deuxième méthode (Prix HT) doit être utilisée lorsque les prix fixés excluent la TVA. Lorsque la première méthode est employée et que l'on affiche un produit, le prix du produit est également affiché. Lorsque l'on emploie la seconde méthode et que l'on affiche un produit, alors le prix affiché correspond au prix fixé lors de la création de l'objet augmenté de la TVA. Lorsque le produit est placé dans le panier d'achat et que l'on visualise le contenu de ce dernier, il est possible de voir les prix HT et TTC du produit (et ceci indépendamment de la méthode choisie).

Please note that the price datatype allows to set only one price value for each product (the system will use your locale currency for when displaying this price). This datatype does not work with multiple currencies.
Retenez que le datatype Prixpermet de ne fixer qu'un seul prix pour chaque produit (le système utilisera votre unité monétaire locale pour afficher les prix) et qu'il ne peut fonctionner avec plusieurs unités monétaires.

The multi-price datatype / Le datatype Prix multiple

The price can be represented by an attribute that makes use of the built-in multi-price datatype. This datatype allows you to set several prices in different currencies for each product independently of your locale currency. Instances of any class containing the multi-price price datatype are automatically treated as multi-price products. (Please refer to the Multi-currency section of the "Features" chapter for more information.) This datatype interacts with VATs in the same way as the price datatype.
Le prix peut être également représenté par un attribut utilisant le datatype Prix multiple. Ce dernier permet de fixer, indépendamment de votre unité monétaire locale, plusieurs prix en plusieurs unités monétaires pour chacun des produits. Les instances de n'importe quelle classe contenant le datatype Prix multiplesont automatiquement traitées en tant que produits multi-prix. Référez-vous au paragraphe Multi-currency -- Gestion de plusieurs devises de la section Fonctionnalités pour de plus amples informations. Ce datatype interagit avec les TVA de la même manière que le datatype Prix.

Discount rules / Règles de remises

The final price of a product can be affected by a discount rule. A discount rule can be configured to reduce the price of certain products by a percentage. The discount rules can be placed in different discount rule groups and are always active (there is no way to turn them on/off). The discount rule groups make it possible to choose which group(s) of customers will be affected. This can be done by assigning a discount rule group to the target user group(s).
Le prix final d'un produit peut être affecté par une règle de remise configurée pour abaisser le prix de certains produits de x pour cent (%). Ces règles peuvent être placées dans différents groupes de règles de remises et sont toujours actives (il n'y a aucun moyen de les activer/désactiver). Les groupes de règles de remises permettent de choisir le(s) groupe(s) de clients qui seront affectés par les remises et ceci en assignant un groupe de règles de remise à un ou plusieurs groupes d'utilisateurs.

By default, a newly created discount rule affects all the products that are in the system. However, a discount rule can be easily limited to a group of products. A discount rule can be limited in two ways, which are mutually exclusive. The first alternative is to use a combination of the "Product type" and the "Section" limitations, which are described in the table below.
Par défaut, une règle de remise nouvellement créé affecte tous les produits présents dans le système. Cependant, une telle règle peut être aisément limitée à un groupe de produits. Deux méthodes, l'une à l'exclusion de l'autre, peuvent être utilisées pour limiter une règle de remise. La première, une combinaison de Type de produitset de limitations affectées à une section, est décrite ci-dessous:

Limitation Description
Product type
Type de produit
The "Product type" limitation makes it possible to limit a policy to products/objects of certain types (only classes that make use of the price datatype will be shown). The default setting is "Any", which means that it will affect all kinds of product objects.
La limitation associée au Type de produitpermet de limiter la politique de certains types de produits/objets (seules les classes utilisant le datatype Prixseront montrées). Le paramètre par défaut est Any (Aucun) ce qui signifie qu'elle affectera tous les types d'objets produit.
Section The "Section" limitation makes it possible to limit a policy to products/objects that are assigned to certain sections. The default setting is "Any", which means that the discount rule will affect product objects in all sections.
La limitation associée aux Sectionspermet de limiter la politique des produits/objets assignés à certaines sections. Le paramètre par défaut est Any (Aucun) ce qui signifie que la règle de remise affectera tous les objets de toutes les sections.

The second alternative is to add individual products to the discount rule's product list. When the individual product list is used, the "Product type" and "Section" limitations will be omitted and thus only the products that are in the list will be affected.
La deuxième méthode consiste à ajouter individuellement les produits à la liste de produits associée à la règle de remise. Lorsque la liste de ces produits est utilisée, les limitations affectées aux Types de produitet aux Sectionsseront omises et seuls les produits de la liste seront affectés.

Shop related datatypes / Les datatypes relatifs au e-commerce

The following table shows the datatypes that plug in to the e-commerce subsystem of eZ publish.
Le tableau ci-dessous recense les datatypes qui fonctionnent avec le sous-système de e-commerce de eZ publish.

Datatype Description
Price
Prix
When used as an attribute in a content class, the "Price" datatype connects the instances (objects) of that class to the webshop system. As soon as an object has a price attribute, users can put the object in their baskets and/or wishlists. This datatype allows to set only one price value for each product (the system will use your locale currency for this price).
Lorsqu'il est utilisé comme attribut d'une classe de contenu, le dadatype Prixconnecte les instances (i.e les objets) de cette classe au système de commerce en ligne. Dès qu'un objet contient un attribut Prix, les utilisateurs peuvent le mettre dans leur panier et/ou liste d'achats. Ce dadatype ne permet de fixer qu'un seul prix à chaque objet (et le système utilisera votre unité monétaire locale pour afficher les prix).
Multi-price
Prix multiple
When used as an attribute in a content class, the "Multi-price" datatype also connects the instances (objects) of that class to the webshop system. As soon as an object has a multi-price attribute, users can view its price in different currencies, put the object in their baskets and/or wishlists. Objects without a price or multi-price attribute can not be put into a user's basket and/or wishlist and thus they are not connected to the e-commerce subsystem. The multi-price datatype allows you to set several prices in different currencies for each product.
Lorsqu'il est utilisé comme attribut d'une classe de contenu, le dadatype Prix multipleconnecte les instances (i.e les objets) de cette classe au système de commerce en ligne. Dès qu'un objet contient un attribut Prix multiple, les utilisateurs peuvent voir son prix exprimé en différentes unités monétaires et le mettre dans leur panier et/ou liste d'achats. Les objets sans attribut Prixou Prix multiplene peuvent pas être mis dans un panier et/ou une liste d'achats et ne sont donc pas connectés au sous-système de e-commerce. Le datatype Prix multiplepermet de fixer pour chaque produit plusieurs prix en différentes unités monétaires.
Option The "Option" datatype makes it possible to create a single group of options for each content object. Each option can be assigned a short text and an additional price. For example, it can be used to sell T-shirts in different colors where the price is different for some (or all) colors.
Le datatype Optionpermet de créer un seul groupe d'options pour chaque objet de contenu. Chaque option peut être assignée à un court texte et à un prix supplémentaire. Ce datatype peut être utiliser par exemple pour la vente de T-shirts de différentes couleurs et de prix différents pour certaines (ou toutes) couleurs.
Multi-option
Option multiple
The "Multi-option" datatype makes it possible to create multiple groups of options for each content object. Each option can be assigned a short text and an additional price. This datatype works in the same way as the "Option" datatype. The only difference is that instead of supporting only one group of options, it allows the creation of multiple groups of options for each content object.
Le datatype Option multiplepermet de créer de multiples groupes d'options pour chaque objet de contenu. Chaque option peut être assignée à un court texte et à un prix supplémentaire. Ce datatype fonctionne de la même manière que le datatype Option. La seule différence est qu'au lieu de ne supporter qu'un seul groupe d'options il permet d'en créer plusieurs pour chaque objet de contenu.
Range-option
Option d'étandue
The "Range-option" datatype makes it possible to create a single group of enumerated options for each content object. For example, it can be used in a scenario where the goal is to sell shoes of different sizes and the size does not affect the price. For each content object, the administrator needs to set up the available range (if any).
Le datatype Option d'étanduepermet de créer pour chaque objet de contenu un seul groupe d'options énumérées. Il peut par exemple servir dans une situation où l'objectif est de vendre des chaussures de différentes tailles sans que la taille n'affecte le prix. Pour chaque objet de contenu, l'administrateur doit paramétrer l'étendue disponible (s'il y en a une).