Toute l'actualité du CMS TYPO3, typoscripts, extensions, liens et téléchargements
Nous sommes le 11/03/2010
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".
- 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"
- 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)
- Boutique > Vos coordonnées : page pour gérer les différentes adresses. Insérer le plugin commerce en mode 'Commerce: Address Management'
- 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.
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
