
Bonjour !
3 modifications :
Dans catalog/includes/classes/shopping_cart.php
ligne 319, obtenir l'id du fabricant:
Code
$products_query = tep_db_query("select p.products_id, pd.products_name, p.products_model, p.products_image, p.products_price, p.products_weight, p.products_tax_class_id, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = '" . (int)$products_id . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");
ligne 331, l'intégrer au panier :
Code
$products_array[] = array('id' => $products_id,
'name' => $products['products_name'],
'model' => $products['products_model'],
'manufacturers_id' => $products['manufacturers_id'],
'image' => $products['products_image'],
'price' => $products_price,
'quantity' => $this->contents[$products_id]['qty'],
'weight' => $products['products_weight'],
'final_price' => ($products_price + $this->attributes_price($products_id)),
'tax_class_id' => $products['products_tax_class_id'],
'attributes' => (isset($this->contents[$products_id]['attributes']) ? $this->contents[$products_id]['attributes'] : ''));
Dans catalog/includes/classes/order.php
Ligne 219 le passer du panier à la commande :
Code
for ($i=0, $n=sizeof($products); $i<$n; $i++) {
$this->products[$index] = array('qty' => $products[$i]['quantity'],
'name' => $products[$i]['name'],
'model' => $products[$i]['model'],
'manufacturers_id' => $products[$i]['manufacturers_id'],
'tax' => tep_get_tax_rate($products[$i]['tax_class_id'], $tax_address['entry_country_id'], $tax_address['entry_zone_id']),
'tax_description' => tep_get_tax_description($products[$i]['tax_class_id'], $tax_address['entry_country_id'], $tax_address['entry_zone_id']),
'price' => $products[$i]['price'],
'final_price' => $products[$i]['price'] + $cart->attributes_price($products[$i]['id']),
'weight' => $products[$i]['weight'],
'id' => $products[$i]['id']);
dans catalog/checkout_confirmation.php
vers la ligne185, l'afficher :
Code
echo ' <tr>' . "\n" .
' <td class="main" align="right" valign="top" width="30">' . $order->products[$i]['qty'] . ' x</td>' . "\n" .
' <td class="main" valign="top">' . $order->products[$i]['name'].' Fabricant n° '. $order->products[$i]['manufacturers_id'];
Procédant ainsi, il t'est loisible de l'intégrer aussi - en procédant par similitude - dans le courriel de confirmation (catalog/checkout_process.php), (+ les paiements externes genre cmcic.php) les impressions etc...
Pour le sauvegarder dans la table orders, (est-ce utile ?) il faut lui ajouter un champ, ou (mieux?) le concaténer au nom du produit..
Cette technique ajoute un seul champ à lire en accès base par produit.
Si tu souhaites le nom du fabricant, et non pas son id, il faut rajouter - dès que dans classes/shopping_cart.php - manufacturers_id est connu, un accès à la table manufacturers pour en extraire manufacturers_name - à traiter ensuite en remplacement de manufacturers_id dans les codes ci-dessus.
Ce que j'ai donné est testé.
Bonne intégration !
Chti Poupon