Bug oscommerce avec order_editor

WRInaute impliqué
Bonjour,

j'ai une boutique oscommerce ms2, j'ai installé order_editor, mais j'ai une petite erreur....

Quand je vais sur une commande pour l'editer, j'ai ce message d'erreur :

Fatal error: Call to a member function show_weight() on a non-object in /var/www/vhosts/domaine.fr/httpdocs/includes/modules/shipping/colissimoR2.php on line 48

colissimoR2.php c'est le module qui sert a calculer le prix de l'envoi.

est ce que quelqu'un a deja rencontré ce probleme ?

merci d'avance
 
WRInaute occasionnel
Le problème c'est que show_weight() est une méthode de l'objet "cart" (le panier) ... le problème selon moi, c'est que l'objet "cart" est déclaré quand tu passe commande (ce qui est normal) mais ne l'ai pas quand tu es dans la console d'admin pour editer la commande (ce qui est normal aussi)

Je pense que le module "colissimo" n'a pas été conçu pour fonctionné dans la partie admin.

Ce que je dis n'est pas à prendre au pied de la lettre. je gère une boutique en suisse donc je n'utilise pas le module colissimo et le module pour la poste suisse n'utilise pas l'objet "cart" donc je n'est pas ce problème avec order editor. Mais de tête je dirais que le plus simple serai dans le order_editor.php de crée un objet "cart" et d'y remettre le contenu de la commande que tu édites.
 
WRInaute impliqué
merci bcp
aurais tu un un exemple ou un tuto pour savoir faire ca???

c peut etre le module colissimo qui n'est pas bon
 
WRInaute occasionnel
Je dirais de reprendre le code de création du panier présent dans application_top.php :
Code:
// create the shopping cart & fix the cart if necesary
  if (tep_session_is_registered('cart') && is_object($cart)) {
    if (PHP_VERSION < 4) {
      $broken_cart = $cart;
      $cart = new shoppingCart;
      $cart->unserialize($broken_cart);
    }
  } else {
    tep_session_register('cart');
    $cart = new shoppingCart;
  }
L'insérer dans le order_edito.php

Ensuite repérer dans le code où le contenu de la commande est récupérer de la base de donnée pour juste après remplir le panier:
Code:
$cart->add_cart(...)

La théorie à l'air simple ... je suis pas sure que ça le sera autant en pratique.

Pour info :
Code:
function add_cart($products_id, $qty = '1', $attributes = '', $notify = true)
 
Discussions similaires
Haut