Recherche rapide : Avancée

 

Vous êtes ici : Accueil > Articles > TYPO3 et le e-Commerce (1ère partie) > Commerce : arborescence et configuration

TYPO3 et le e-Commerce (suite)

Voici les pages à créer ainsi que quelques explications :

- Boutique : page d'accueil de la boutique
- Boutique > Catalogue des produits : contient la liste des produits de la boutique. Insérer sur la page le plugin commerce en mode "Commerce: Product listing".

Commerce: Product listing

- Boutique > Catalogue des produits > Détails : page de type 'not in menu', elle affiche le détail d'un produit.
- Boutique > Panier : insérer le plugin commerce en mode "Commerce: Basket"

- Boutique > Panier > : page qui indique que le panier est vide, à déclarer en 'not in menu'
- Boutique > Valider le panier : page qui affiche un résumé lorsque les achats sont terminés et que vous
souhaitez valider le panier. A déclarer en 'not in menu'. Insérer le plugin commerce en mode "Commerce: checkout"

Commerce: checkout

- Boutique > Valider le panier > Panier vide : page 'not in menu' qui affiche un message d'erreur si l'on tente de valider un panier vide
- Boutique > Facture : page 'not in menu'. Insérer le plugin commerce en mode 'Commerce: Invoice'. Ce que le manuel de l'extension ne dit pas, c'est que cette page sert non seulement à afficher la facture du client dans le frontend mais aussi une facture au format PDF. Il faut donc configurer TYPO3 pour afficher les pages au format PDF (type=123). La facture au format PDF est appelée depuis le backoffice, module 'Orders -> Items -> Print invoice)

Commerce: Invoice

- Boutique > Vos coordonnées : page pour gérer les différentes adresses. Insérer le plugin commerce en mode 'Commerce: Address Management'

Commerce: Address Managment

- Boutique > Adresses : Dossier système contenant toutes les adresses

- Boutique > Clients : Dossier système pour stocker les groupes d'utilisateurs du frontend.

Vous devez ensuite créer un ou plusieurs groupes dans le dossier système "Clients" : Clients, Clients particuliers, Admin boutique.

Groupe de membre

4. Configuration de la boutique

Les principales pages et dossiers sont posés. Vous devez encore renseigner les constantes du gabarit TS. Vous avez deux possibilités : soit passer par le menu "Constant Editor", soit modifier directement le template principal en complétant le champ des constantes.

# Constantes de l'extension Commerce

plugin.tx_commerce_lib {

# PID du dossier système des adresses
addressPid=21

# PID du dossier système des clients
userPid=22
 
# PID où les adresses (coordonnées) doivent être modifiées
editAddressPid=20

# PID de la page Panier
basketPid=15

# PID du panier vide
emptyBasketPid=16

# PID de la page lorsque la validation du panier n'est pas possible
emptyCheckoutPid=18

# PID de la page de validation (checkout)
checkoutPid=17

# PID du catalogue des produits
overridePid=13

# ID du moyen de paiement par défaut
paymentArticleId=1

# ID des catégories de paiement
payProdId=1

# ID du type de livraison
delProdId=1

# Catégorie par défaut
catUid=2

# ID du groupe d'utilisateur pour les nouveaux inscrits
userGroup=1

# Code ISO de la monnaie
currency=EUR

# Code ISO de staticInfoTable
currencyId=49

# Type générique d'article pour le panier et sa validation
regularArticleTypes=1

# Ajout de paramètres supplémentaires dans l'url
# pour accélérer l'affichage de la navigation
useRootlineInformationToUrl=0

# Affichage des erreurs en front
showErrors=1

# Calculer la TVA sur le prix net
priceFromNet=0

# Gestion des stocks
useStockHandling=0
}

# Path to template files
plugin.tx_commerce_pi1 {
templateFile = fileadmin/templates/extensions/commerce/product.html
}

plugin.tx_commerce_pi2 {
    templateFile = fileadmin/templates/extensions/commerce/basket.html
   
}
       
plugin.tx_commerce_pi3 {
    templateFile = fileadmin/templates/extensions/commerce/checkout.html
   
    UserMailTemplateFile =  fileadmin/templates/extensions/commerce/checkout_usermail.html
   
    AdminMailTemplateFile =  fileadmin/templates/extensions/commerce/checkout_adminmail.html
   
}

plugin.tx_commerce_pi4 {
    templateFile = fileadmin/templates/extensions/commerce/addresses.html
    minAddressCount = 1
}

plugin.tx_commerce_pi6 {
    templateFile = fileadmin/templates/extensions/commerce/invoice.html
}

# SETUP

plugin.tx_commerce_pi3{
billing.sourceFields.country.default=FRA
}

Nous allons copier ensuite les gabarits de l'extension dans fileadmin pour plus de sécurité si nous devons un jour mettre à jour l'extension sans modifier les gabarits html.

Voici l'emplacement du fichier original puis une copie vers un nouvel emplacement.

typo3conf/ext/commerce/pi1/category_product.tpl
-> fileadmin/templates/extensions/commerce/product.html

typo3conf/ext/commerce/pi2/shoppingcart.tpl
-> fileadmin/templates/extensions/commerce/basket.html

typo3conf/ext/commerce/pi3/template_checkout.tpl
-> fileadmin/templates/extensions/commerce/checkout.html

typo3conf/ext/commerce/pi4/template_addresses.tpl
-> fileadmin/templates/extensions/commerce/addresses.html

typo3conf/ext/commerce/pi3/template_adminmail.tpl
-> fileadmin/templates/extensions/commerce/checkout_adminmail.html

typo3conf/ext/commerce/pi3/template_usermail.tpl
-> fileadmin/templates/extensions/commerce/checkout_usermail.html

typo3conf/ext/commerce/pi6/invoice.tpl
-> fileadmin/templates/extensions/commerce/invoice.html

La configuration par défaut de l'extension est stockée dans le répertoire ext/commerce/static/constants.txt et ext/commerce/static/setup.txt. Vous pouvez jeter un oeil aux fichiers mais rappelez-vous que nous avons affaire à des catégories et à des produits. Le setup de l'extension permet de configurer l'affichage de chaque champ à notre guise.

Nous avons par exemple pour le pi1  plugin.tx_commerce_pi1.listView.categories.fields.subtitle où :
- plugin.tx_commerce_pi1 correspond au plugin chargé de l'affichage des données
- listView pour un affichage de tous les produits ou catégories (ici les catégories)
- fields pour le champ de la table concernée (tx_commerce_products, tx_commerce_categories, etc) ... suivi du champ que l'on souhaite configurer - ici subtitle.

Nous pouvons appliquer des fonctions de wrap, stdWrap, typolink... Pour ajouter un lien sur un sous-titre, nous avons donc le code suivant :
plugin.tx_commerce_pi1 {
  listView.categories.fields.subtitle.wrap >
  listView.categories.fields.subtitle.typolink.setCommerceValues = 1
  listView.categories.fields.subtitle.typolink.useCacheHash = 1
}

Le marqueur qui appelle le sous-titre est ###CATEGORY_SUBTITLE### dans le subpart ###CATEGORY_VIEW_DISPLAY###

Les derniers articles à consulter :

Réduire les options du menu contextuel
Quelques options à placer dans le TS config d'un groupe pour alléger les options disponibles dans les menus contextuels