osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> récupérer la variable shipping_method pour l'afficher
doud95
posté 29 May 2006, 15:24
Message #1


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 27
Inscrit : 25-April 06
Membre no 10109



Bonjour à tous

je galère dans la bdd pour trouver la variable du mode de transport

je voudrai l'afficher sur un bon de commade à imprimer

merci

Ce message a été modifié par doud95 - 30 May 2006, 10:51.
Go to the top of the page
 
doud95
posté 29 May 2006, 16:19
Message #2


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 27
Inscrit : 25-April 06
Membre no 10109



J'ai recherché dans les post un sujet pour m'aider mais rien de nouveau

la piste base donnée en direction de order total ou autre ne donne rien

la piste ot_shipping non plu

quun à une idée



/httpdocs/catalog/includes/classes/order.php

j'ai la ligne

CODE

'shipping_method' => ((substr($shipping_method['title'], -1) == ':') ? substr(strip_tags($shipping_method['title']), 0, -1) : strip_tags($shipping_method['title'])));


y a t'il qu'elqe chose à faire ici
Go to the top of the page
 
xaglo
posté 29 May 2006, 16:27
Message #3


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 14910
Inscrit : 22-November 02
Membre no 610



en effet, la méthode de livraison est tout simplement incluse dans la class order. Il suffit donc de l'appeler au début de ton script si ce n'est déjà fait
CODE
  require(DIR_WS_CLASSES . 'order.php');
  $order = new order('order_id'); // remplacer order_id par ce que tu veux

tu l'auras alors disponible dans la variable $order->info['shipping_method']



--------------------
Ni Hot-line ni Service Après Vente, ces forums sont un lieu d'échanges.
Une Question? Rechercher / FAQ / docV1.pdf / docV2.pdf / contributions
Go to the top of the page
 
doud95
posté 29 May 2006, 16:34
Message #4


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 27
Inscrit : 25-April 06
Membre no 10109



quel est le script à mettre en début de code stp


CODE

// load the selected shipping module
  require(DIR_WS_CLASSES . 'shipping.php');
  $shipping_modules = new shipping($shipping);


c celui la??

dsl la question n'est pas bonne

j'ai résolu le pb avec ce que tu m'a dit

merci pour tou

Ce message a été modifié par doud95 - 29 May 2006, 16:32.
Go to the top of the page
 
xaglo
posté 29 May 2006, 16:36
Message #5


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 14910
Inscrit : 22-November 02
Membre no 610



non, celui que je te donnais, en remplaçant 'orders_id' par ta variable de l'id de la commande que tu veux traiter. Par exemple, si tu utilises order_id que tu passes en méthode GET dans ton script,
CODE
  require(DIR_WS_CLASSES . 'order.php');
  $order = new order($HTTP_GET_VARS['order_id']);
devrait fonctionner. C'est comme ça que fonctionne account_history_info.php par exemple


--------------------
Ni Hot-line ni Service Après Vente, ces forums sont un lieu d'échanges.
Une Question? Rechercher / FAQ / docV1.pdf / docV2.pdf / contributions
Go to the top of the page
 
doud95
posté 29 May 2006, 16:49
Message #6


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 27
Inscrit : 25-April 06
Membre no 10109



suite du problème

je n'arrive toujours pas à l'afficher malgré les ajouts de code


je mets le code en post

evil.gif

CODE
[edit code supprimé pour alléger la lecture du sujet et la base de donnée des forums]




la variable que je voudrai afficher c'est la methode de livraison choisi par le client lors de la commande

je pense qu'ell s'apelle shipping_method mais je me trompe peut etre

Ce message a été modifié par xaglo - 29 May 2006, 18:32.
Go to the top of the page
 
doud95
posté 29 May 2006, 17:02
Message #7


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 27
Inscrit : 25-April 06
Membre no 10109



j'ai vérifier sur account_history_info.php la variable ne s'affiche pas non plus

la méthode de livraison n'est pas mentionné sur le compte rendu de commande

seulement l'adresse apparait.
Go to the top of the page
 
xaglo
posté 29 May 2006, 17:33
Message #8


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 14910
Inscrit : 22-November 02
Membre no 610



enleve ta ligne 37
CITATION
$order = new order('shipping_method'); // remplacer order_id par ce que tu veux


et tes lignes 90-100 devraient fonctionner
CITATION
<?php
if (tep_not_null($order->info['shipping_method'])) {
?>
<tr>
<td class="main">
</tr>
<tr>
<td class="main">info['shipping_method']; ?>
</tr>
<?php
}
?>


Pour vérifier que ton appel à la classe order fonctionne ou comprendre pourquoi il ne fonctionnerait pas, tu peux vérifier
1- que ta variable $oID n'est pas vide en ajoutant un echo sur cette variable après la ligne 19
CODE
  $oID = tep_db_prepare_input($HTTP_GET_VARS['oID']);
echo '$oID = ' . $oID;


2- le contenu de ton objet $order en ajoutant un print_r après la ligne 36
CODE
  require(DIR_WS_CLASSES . 'order.php');
  $order = new order($oID);
  print_r($order);
Tu verras comme ça le contenu du tableau $order





--------------------
Ni Hot-line ni Service Après Vente, ces forums sont un lieu d'échanges.
Une Question? Rechercher / FAQ / docV1.pdf / docV2.pdf / contributions
Go to the top of the page
 
doud95
posté 29 May 2006, 23:01
Message #9


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 27
Inscrit : 25-April 06
Membre no 10109



après avoir fais les modif j'obtien ca:

$oID = 32order Object ( [info] => Array ( [currency] => EUR [currency_value] => 1.000000 [payment_method] => Paiement par Virement Bancaire [cc_type] => [cc_owner] => [cc_number] => [cc_expires] => [date_purchased] => 2006-05-29 23:59:35 [orders_status] => Commande en attente [last_modified] => [total] => 390.00EUR [shipping_method] => [tax_groups] => Array ( [19.6000] => 1 ) ) [totals] => Array ( [0] => Array ( [title] => TVA 19.6 %: [text] => 63.91EUR ) [1] => Array ( [title] => Total: [text] => 390.00EUR ) ) [products] => Array ( [0] => Array ( [qty] => 1 [id] => 45 [name] => Altar cabinet [model] => OM010 [tax] => 19.6000 [price] => 326.0870 [final_price] => 326.0870 ) ) [customer] => Array ( [id] => 2 [name] => olivier duchon [company] => testeur [street_address] => 53 rue de stalingrad [suburb] => [city] => ermont [postcode] => 95120 [state] => [country] => France [format_id] => 1 [telephone] => 0683474235 [email_address] => olivierduchon@free.fr ) [delivery] => Array ( [name] => olivier duchon [company] => testeur [street_address] => 53 rue de stalingrad [suburb] => [city] => ermont [postcode] => 95120 [state] => [country] => France [format_id] => 1 ) [content_type] => [billing] => Array ( [name] => olivier duchon [company] => testeur [street_address] => 53 rue de stalingrad [suburb] => [city] => ermont [postcode] => 95120 [state] => [country] => France [format_id] => 1 ) )
Fatal error: Cannot redeclare class order in /home/httpd/vhosts/antikdechine.com/httpdocs/catalog/includes/classes/order.php on line 13

je pense que ce n'est pas normal de ne pas retrouver le mode de livraison dans la liste de la table order

ou ce trouve le problème

j'ai bien ajouter un champs dans ma table (shipping_method), on le voit bien dans la liste mais aucune info à l'intérieur comment y stocker quelque chose

ou bien il y a autre chose à faire

merci de ton aide

Go to the top of the page
 
xaglo
posté 29 May 2006, 23:44
Message #10


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 14910
Inscrit : 22-November 02
Membre no 610



donc ton défaut ne vient pas de la méthode pour récupérer l'info mais tout simplement que cette info est vide.

Tu dois avoir le problème lorsque tu passe une commande. Ce renseignement n'est pas inscrit en base de donnée. Le défaut provient donc du process de commande, vérifie si tu as bien cette info dans checkout_confirmation.php lors du process de commande.


PS. Message déplacé, c'est un problème de fonctionnement, pas de développement, print_order n'est pas en cause


--------------------
Ni Hot-line ni Service Après Vente, ces forums sont un lieu d'échanges.
Une Question? Rechercher / FAQ / docV1.pdf / docV2.pdf / contributions
Go to the top of the page
 
doud95
posté 29 May 2006, 23:48
Message #11


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 27
Inscrit : 25-April 06
Membre no 10109



si si j'ai la méthode de livraison qui s'affiche bien dans le checkout_confirmation

c bien la l'incompréhension

je vien de regarder le contenu de plusieur table et toujours pas de trace de shipping method

Go to the top of the page
 
doud95
posté 29 May 2006, 23:59
Message #12


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 27
Inscrit : 25-April 06
Membre no 10109



est-ce que les variable sont remise à zéro que les checkout_succès est affiché?

comment mettre la variable shipping_method en mémoire et l'afficher après avoir confirmer une commande et pour l'imprimer avec la contribution print order receipt.
Go to the top of the page
 
xaglo
posté 30 May 2006, 00:20
Message #13


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 14910
Inscrit : 22-November 02
Membre no 610



non, shipping_method est normallement inscrite en base dans la table orders_total par le checkout_process avant d'être supprimée de la session


--------------------
Ni Hot-line ni Service Après Vente, ces forums sont un lieu d'échanges.
Une Question? Rechercher / FAQ / docV1.pdf / docV2.pdf / contributions
Go to the top of the page
 
doud95
posté 30 May 2006, 01:00
Message #14


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 27
Inscrit : 25-April 06
Membre no 10109



alors je vais être plus terre à terre.

est ce que sur la ms2 de base la méthode de livraison est affichée sur la page account history info

parce que chez moi elle n'apparait pas.




est'ce qu'il y a quelque chose à faire?

Ce message a été modifié par doud95 - 30 May 2006, 09:50.
Go to the top of the page
 
doud95
posté 30 May 2006, 09:55
Message #15


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 27
Inscrit : 25-April 06
Membre no 10109



après pas mal de recherche sur le net et sur le forum

beaucoup de personne parle d'une variable shipping method qui se trouve dans la table order

mais pourquoi je ne l'ai pas

comment faire pour ajouter l'ecriture d'une variable dans une table?

quelqu'un pourrait me guider pour ajouter la mehode de livraison choisi par le client comme une info qui soit attacher à sa commande comme peut l'étre la méthode de paiement?
Go to the top of the page
 
xaglo
posté 30 May 2006, 11:02
Message #16


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 14910
Inscrit : 22-November 02
Membre no 610



CITATION(xaglo @ 30 May 2006, 01:20) [snapback]177101[/snapback]
non, shipping_method est normallement inscrite en base dans la table orders_total par le checkout_process avant d'être supprimée de la session


désolé, je n'ai pas la dispo pour t'aider plus dans l'instant blush.gif


--------------------
Ni Hot-line ni Service Après Vente, ces forums sont un lieu d'échanges.
Une Question? Rechercher / FAQ / docV1.pdf / docV2.pdf / contributions
Go to the top of the page
 
xaglo
posté 30 May 2006, 19:21
Message #17


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 14910
Inscrit : 22-November 02
Membre no 610



CITATION(doud95 @ 30 May 2006, 02:00) [snapback]177103[/snapback]
est ce que sur la ms2 de base la méthode de livraison est affichée sur la page account history info
Oui, elle est récupérée de la même façon que décrit ci dessus, via la class order

CITATION(doud95 @ 30 May 2006, 10:55) [snapback]177126[/snapback]
beaucoup de personne parle d'une variable shipping method qui se trouve dans la table order
Ce que tu appelles la 'variable shipping_method' est en fait stockée dans la table orders_total, dans la colonne 'title' où la "class' est ot_shipping. Regarde dans ta base tu comprendras mieux
CITATION(doud95 @ 30 May 2006, 10:55) [snapback]177126[/snapback]
quelqu'un pourrait me guider pour ajouter la mehode de livraison choisi par le client comme une info qui soit attacher à sa commande comme peut l'étre la méthode de paiement?
Je te répète, c'est le fonctionnement normal d'OsC, cette valeur est stockée en session le temps de la commande, puis stockée en base comme décrit ci-dessus dès que la commande est finie.

regarde dans la class order.php tu verras
CODE
      $shipping_method_query = tep_db_query("select title from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . (int)$order_id . "' and class = 'ot_shipping'");
      $shipping_method = tep_db_fetch_array($shipping_method_query);
C'est comme ça que la class order récupère la valeur.

Si cette valeur n'est pas gardée dans la table orders_total, le défaut vient probablement de checkout_process qui devrait faire le boulôt (à vérifier, je ne suis pas sûr).

Bon code


--------------------
Ni Hot-line ni Service Après Vente, ces forums sont un lieu d'échanges.
Une Question? Rechercher / FAQ / docV1.pdf / docV2.pdf / contributions
Go to the top of the page
 
doud95
posté 31 May 2006, 18:00
Message #18


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 27
Inscrit : 25-April 06
Membre no 10109



J'ai bien pris en note tout ce que tu m'a dit

le problème reste présent.

où dois-je vérifier si la fonction de mémorisation de la variable est bien présente?

en tout cas dans la bdd dans la table order_total il n'ya pas de class ot_shipping et encore moins de mode de transport qui apparaissent.

merci de ton aide
Go to the top of the page
 
xaglo
posté 31 May 2006, 19:08
Message #19


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 14910
Inscrit : 22-November 02
Membre no 610



avant de fouiller plus, essaye 2 choses pour vérifier d'ù le soucis pourrait provenir

1- utilise un module de livraison d'origine (flat par exemple)… bien que tu disais que la méthode de livraison était présente dans le checkout_confirmation?? dans ce cas le module de livraison ne devrait pas être en cause huh.gif

2- essaye de mettre un chechout_process.php brut de décoffrage, extrait du zip d'origine, voir si le défaut ne provient pas du tien


--------------------
Ni Hot-line ni Service Après Vente, ces forums sont un lieu d'échanges.
Une Question? Rechercher / FAQ / docV1.pdf / docV2.pdf / contributions
Go to the top of the page
 

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 22nd May 2013 - 17:11
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)