THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

j'essaie de comprendre quand le prix du transport est entre dans la table order
je regarde pour modifier le module socolissimo pour differencier la livraison a domicile

si j'ai bien compris
- le client choisit son moyen de livraison
- id du module choisit est envoye a la boucle order
- c'est la boucle order qui est charge de mettre le prix dans la table ? ou le module ?
dans le module je ne trouve pas la requete

si c'est la boucle order qui recupere, on lui passe qui l'id du module, pas le mode choisi


Merci

Offline


Rien n'est "envoyé" à une boucle, et les boucles ne font aucune mise à jour en base. Une boucle est une pompe à données, qui ne fait qu'aller chercher des données dans la base de données et les transmettr aux templates.

Le prix du transport entre dans la table order au moment ou la commande est passée. Voir dans l'action Order la méthode createOrder.

Le coût du transport entre dans la commande (qui se trouve en session pendant le process de commande) dans la méthode setPaymentModule() de l'action Order, sur réception de l'event ORDER_SET_PAYMENT_MODULE.

Si tu veux différencier la livraison à domicile une fois l'order créé en base, tout doit se passer dans le module SoColissimo. Tu peux récupérer une AddressSocolissimo (via OrderAddressSocolissimo), dans laquelle l'attribut "type" vaut 'DOM' pour une livraison à domicile.


OpenStudio Toulouse

Offline


merci Raodster31

Je veux afficher mettre un prix different pour le DOM
pour afficher le prix DOM et AUTRE, c'est la boucle delivery qui me renvoie $POSTAGE
dans la page order-delivery-module-list.html, j'affiche pour les 2 types (DOM et AUTRE) $POSTAGE

Ce que je ne comprends pas c'est comment differencier
la boucle delivery ne me renvoie qu'un seul prix pour le module X
je ne voie pas comment avoir 2 prix......c'est cette partie qui m'est flou roll

Offline


autre bizarrerie
j'ai desactive le module socolissimo, il continue a apparaitre
du coup j'ai dasactive tous les module de transport
vide le cache

juste rafraichi la page delivery
socolissimo apparait toujours
??? la boucle delivery ne verifie pas si le module est actif ?

Offline


Si la commande n'a pas encore été passé, regarde la variable de session "SoColissimoDomiciile" (oui, avec 2 "i"). Si elle vaut 1, c'est une livraison à domicile.

Si la commande a déjà été passée, regarde dans le OrderAddressSocolissimo correspondant à l'order le type de la livraison.


OpenStudio Toulouse

Offline


je cherche a faire ceci
41539603102014122859.jpg

sans la croix rouge wink

Last edited by zzuutt (03-10-2014 11:42:03)

Offline


J'ai bien compris. Je te dis ci-dessus comment faire pour modifier la méthode getPostageAmount() du module.


OpenStudio Toulouse

Offline


j'ai bien compris aussi....

mais quand le client passe de la page cart a order-delivery
la variable de session  n'est pas initialise donc = 0
dans l'ajax order-delivery-module-list.html dans la boucle delivery on ne reception qu'un seul prix ($postage)
qui est valable pour les 2 modes DOM ou AUTRE
ca affiche le meme prix du coups

$postage est place en session pour etre transmit a order-invoice
......
par contre le client etant sur la page order-delivery coche la case domicile "SoColissimoDomiciile" = 1
puis decide de recharger la page
la le prix change, mais pour les 2 modes DOM ou AUTRE

c'est ca que je bug

etant donne que l'on fait qu'un seul appel a la boucle delivery au chargement de la page order-delivery
et que la boucle delivery pour le module socolissimo ne renvoie qu'un seul prix $POSTAGE
donc sans modifier la page order-delivery ce n'est pas possible
si mon analyse est bonne, modifier seulement le module socolissimo ne permet pas de renvoyer 2 prix

heuuu j'ai bon ?

Offline


Ha tu veux afficher les deux prix à la fois. Il te faut modifier le template, et fabriquer un boucle pour ça, je suppose.


OpenStudio Toulouse

Offline


je savais bien que l'on ne se comprenait pas smile
le mieux je vais modifier le template en supprimant la partie DOM
et faire un autre module (au moins je pourrai faire une table avec des prix par tranche de poids)

Offline


la je bug
je passe mon module d'un serveur a un autre
je l'active - ok
mais quand je vais sur la page cart
j'obtiens cette erreur

ServiceNotFoundException: You have requested a non-existent service "module.socolissimodom".

je ne comprends l'erreur sur le premier serveur tout marchait bien
??

Offline


Vide les caches.


OpenStudio Toulouse

Offline


Merci !
decidement ces caches wink