En poursuivant votre navigation sur ce site, vous acceptez l’utilisation de Cookies pour réaliser des statistiques de visites.

09 54 46 51 10

du lundi au vendredi de 08h à 19h

Controlleur: Shop


Contrôleur permettant la gestion d'une boutique en ligne.


Views

Liste des différentes étapes permettant l'achat en ligne.


items (index)

Cette vue permet l'affichage des catégories, groupes, sous-groupes et articles.

Il est possible de passer dans l'URL la catégorie, groupe, sous-groupe, article à afficher.

https://www.exemple.com/boutique-en-ligne/ma-categorie
https://www.exemple.com/boutique-en-ligne/mon-article

Variables

  • isCategory : true si l'enregistrement passé dans l'URL est une catégorie
  • isGroup : true si l'enregistrement passé dans l'URL est un groupe
  • isSubGroup : true si l'enregistrement passé dans l'URL est un sous-groupe
  • isItem : true si l'enregistrement passé dans l'URL est un article
  • isModel : true si l'enregistrement passé dans l'URL est un modèle
  • recordType : Ld type de l'enregistrement passé dand l'URL [category, group, subGroup, item]
  • category : Un enregistrement de type Category
  • group : Un enregistrement de type Group
  • subGroup : Un enregistrement de type SubGroup
  • item : Un enregistrement de type Item
  • model : Un enregistrement de type Model
  • currentPageIndex

cart

Affiche le panier.

Variables

  • breadCrumb
  • breadCrumbIndex

    Note :

    Les variables breadCrumb et breadCrumbIndex ne devraient pas être utilisées directement. La méthode renderBreadCrumb de la class Page utilisent ces variables en interne pour le rendu du fil d'ariane.

    {{ page.renderBreadCrumb() }}
  • cart : Un enregistrement de type Cart

authentification

Cette vue affiche une page permettant à l'internaute de s'authentifier ou d'être redirigé vers la page signup (si autorisé).

Ignoré si le client est déjà authentifié.

Le client est ensuite redirigé vers la vue shipping.

Variables

  • breadCrumb : voir ci-dessus
  • breadCrumbIndex : voir ci-dessus
  • signupFields array(Field) : Renvoi un tableau contenant les instances des champs (classe Field) à afficher.

    Exemple
    {% for signupField in page.vars.signupFields %}
      {{ signupField.renderFormGroup() }}
    {% endfor %}

signup

Cette étape permet à l'internaute de se créer un compte client.

Variables

  • breadCrumb : voir ci-dessus
  • breadCrumbIndex : voir ci-dessus
  • signupFields array(Field) : Les champs du formulaire d'inscription

shipping

Permets de choisir le type de livraison.

Si aucune livraison n'est nécessaire, le client sera directement redirigé vers la page payment.

  • breadCrumb : voir ci-dessus
  • breadCrumbIndex : voir ci-dessus
  • cart Un enregistrement de type Cart
  • addressFields array(Field)

Paramètres GET

  • action : Peut-être save-address ou edit-address.

payment

Cette étape permet de procéder au paiement de la commande

Variables

  • breadCrumb
  • breadCrumbIndex
  • cart Un enregistrement de type Cart
  • paymentMethods array(PaymentMethod)

Paramètres GET

  • shipping shipping : l'id du mode de paiement à utiliser.
  • action : seule l'action checkout est supporté. Permets de valider le panier lorsque le mode de paiement n'est pas immédiat (chèque, virement, mandat cash).
  • payment_method paymentMethod: l'id d'une mode de paiement choisi.

confirmation

Cette vue affiche la confirmation de la commande.

Toutes les données en session seront supprimées à la fin de l'étape. Si l'internaute recharge la page, il sera redirigé à l'étape items.

Variables

  • breadCrumb
  • breadCrumbIndex
  • cart un enregistrement de type Cart
  • commercialDocument un enregistrement de type CommercialDocument
  • paymentMethod un enregistrement de type PaymentMethod

Actions


updateCart

Permets de modifier la quantité des articles du panier.

Paramètres POST

  • qty array(id => quantity) :

addCartItem

Permets d'ajouter un article au panier.

Paramètres GET

  • item number : l'id de l'article
  • model number : l'id du modèle
  • event number : l'id de la réservation
  • quantity number : La quantité à ajouter

updateCartItem

Permets de modifier un élément du panier.

Paramètres GET

  • cart_item number : l'id du cartItem
  • quantity number : La quantité

removeCartItem

Permets de supprimer un élément du panier.

Paramètres GET

  • cart_item number : l'id du cartItem
  • quantity number : La quantité

Public API


fetch_records

Permets de requêter des enregistrements. Voir Db#getRecords pour plus de détails.

Seuls les enregistrements ayant le type suivant peuvent être récupérés :

  • category
  • group
  • subGroup
  • item
  • model

Paramètres POST

  • recordType string : le type d'enregistrement à retrouver
  • query string : Voir le language de requète
  • orderBy string : Défaut: 'order' ou 'id'
Exemple:
$.ajax({
  url: "{{ page.urlForAction('fetch_records') }}",
  type: 'POST',
  data: {
    recordType: 'item'
  },
  success: function(response) {
    var parsedResponse = JSON.parse(response);
    console.log(parsedResponse);
  }
});

fetch_cart

Renvoie le panier.

Valeur de retour

Un objet de type cart.

Exemple:

$.ajax({
  url: '{{ page.urlForAction('fetch_cart') }}',
  type: 'POST',
  success: function(response) {
    var parsedResponse = JSON.parse(response);
    console.log(parsedResponse);
  }
});

add_cart_item

Permets d'ajouter un élément au panier.

Paramètres POST

  • item number : l'id de l'article
  • model number : l'id du modèle
  • event number : l'id de la réservation
  • quantity number : La quantité à ajouter

update_cart_item

Permets de modifier un élément du panier.

Paramètres POST

  • cartItem number : l'id du cartItem
  • quantity number : La quantité

remove_cart_item

Permets de supprimer un élément du panier.

Paramètres POST


payment_credit_card

Permets d'effectuer un paiement par carte.

Paramètres POST

  • type string : le type de carte de paiement. Cartes supportées :
    • VISA
    • MASTERCARD
    • CB
    • AMEX
    • AURORE
  • number string : le numéro de carte de paiement
  • cvx number : le code de sécurité
  • expirationMonth number : le mois de la date d'expiration
  • expirationYear number : l'année de la date d'expiration
  • save boolean : si la carte de paiement doit être enregistrée

payment_confirmation

Dans le cas d'un paiement 3DSecure, cette page permet de valider le paiement et d'afficher la confirmation de la commande.

Paramètres POST

  • MD
  • PaRes

Méthodes


getCart [empêche la mise en cache]

Permets de récupérer le panier.

Valeur de retour

Un objet de type cart.

Exemple:

{% set cart = page.getCart() %}

{{ cart|json_encode }}

getPaymentMethod [empêche la mise en cache]

Renvoie un objet de type paymentMethod.

Paramètres

  • type : Le type du mode de paiement à renvoyer

Exemple:

{% set paypalPaymentMethod = page.getPaymentMethod('paypal') %}

{{ paypalPaymentMethod.paypalButton }}

getPaymentMethods [empêche la mise en cache]

Renvoi un tableau de paymentMethod contenant tous les modes de paiement disponible.