Bonjour,
Ce sujet à déja été traité sur ce fofo :
IciMaintenant une methode fonctionnel si tu utilises les contribs:
Individual Product Shipping Methods
Colissimo 20090320 par Philippe Blain
French letter Max
Il faut rajouter un chiffre après la virgule dans la table products.products_weight:
CODE
ALTER TABLE products MODIFY products_weight decimal(5,3) NOT NULL;
Trouvez dans catalog/products_info.php:
CODE
$product_info_query = tep_db_query("select p.products_id, pd.products_name,
Ajouter:
CODE
p.shipping_methods, p.products_weight
Puis ou l'on veux afficher l'estimation:
CODE
<?php
//******************* FRAIS DE PORT SUR FICHE PRODUIT***************************
if ($product_info['products_weight'] <= '0.020'){
$lettermax_price_query = tep_db_query("select letter_cost from " . TABLE_LETTERMAX . " where letter_id=1");
$lettermax_price = tep_db_fetch_array($lettermax_price_query);
}
if (($product_info['products_weight'] > '0.020') && ($product_info['products_weight'] <= '0.050')){
$lettermax_price_query = tep_db_query("select letter_cost from " . TABLE_LETTERMAX . " where letter_id=2");
$lettermax_price = tep_db_fetch_array($lettermax_price_query);
}
if (($product_info['products_weight'] > '0.050') && ($product_info['products_weight'] <= '1.000')){
$lettermax_price_query = tep_db_query("select letter_cost from " . TABLE_LETTERMAX . " where letter_id=3");
$lettermax_price = tep_db_fetch_array($lettermax_price_query);
}
if ($product_info['shipping_methods'] == 'colissimo;lettermax'){
echo '<table cellpadding="0" cellspacing="0" width="100%"><tr><td class="infoBoxHeading" > <b>' . TEXT_AVAILABLE_SHIPPING_MODS. '</b> </td></tr></table>
<table cellpadding="0" cellspacing="0" width="100%"><tr><td class="infoBox" align="center"><table cellpadding="0" cellspacing="0" width="100%"><tr><td><img src="' . DIR_WS_IMAGES . 'icons/lettermax.gif"></td><td class="smalltext">' . TEXT_SHIPPING_RATE . '' . ($lettermax_price['letter_cost']) . 'EUR</td></tr></table></td>';
} elseif ($product_info['shipping_methods'] == 'colissimo'){
echo '<table cellpadding="0" cellspacing="0" width="100%"><tr><td class="infoBoxHeading" > <b>' . TEXT_AVAILABLE_SHIPPING_MODS. '</b> </td></tr></table>';
}
require(DIR_WS_CLASSES . 'shipping.php');
$total_weight = $product_info['products_weight'] ;
if ( !isset($order->delivery['country']['iso_code_2']) )
$order->delivery['country']['iso_code_2'] = 'FR' ;
$shipping_array = new shipping() ;
$shipping_array->quote() ;
$shipping_array = $shipping_array->cheapest() ;
$shipping_taxed = $currencies->format(tep_add_tax($shipping_array['cost'], tep_get_tax_rate($product_info['products_tax_class_id']))) ;
echo '<table cellpadding="0" cellspacing="0" width="100%"><td class="infoBox" align="center"><table cellpadding="0" cellspacing="0" width="100%"><tr><td><img src="' . DIR_WS_IMAGES . 'icons/shipping_colissimo.gif"></td><td class="smalltext">' . TEXT_SHIPPING_RATE . '' . $shipping_taxed . '</td></tr></table></td>
<td class="infoBox" align="center"><table cellpadding="0" cellspacing="0" width="100%"><tr><td><img src="' . DIR_WS_IMAGES . 'icons/shipping_colissimoINT.gif"></td><td class="smalltext">' .TEXT_SHIPPING_INTER . '</td></tr></table></td></tr></table>
<tr><td>' . tep_draw_separator('pixel_trans.gif', '100%', '10') .'</td></tr>
<tr><td class="infoBoxHeading" align="center">' . TEXT_SHIPPING_GROUP . '</td></tr>';
//******************* EOF FRAIS DE PORT SUR FICHE PRODUIT ***************************
?>
catalog/includes/languages/french/products_info.php:
Ajouter:
CODE
define('TEXT_SHIPPING_RATE', 'Tarif indicatif : ');
define('TEXT_SHIPPING_INTER', 'International & DOM-TOM : Merci de consulter les conditions d\'<a href="' . FILENAME_SHIPPING . '"><u>Expéditions et Retour</u></a>');
define('TEXT_AVAILABLE_SHIPPING_MODS', 'Mode de livraison disponible');
define('TEXT_SHIPPING_GROUP', '<b>Pensez à grouper vos achats, frais de port gratuit à partir de 100EUR (France Uniquement)</b>');
catalog/includes/languages/english/products_info.php:
Ajouter:
CODE
define('TEXT_SHIPPING_RATE', 'Indicative rate : ');
define('TEXT_SHIPPING_INTER', 'International & Overseas Departments : Please consult the conditions of <a href="' . FILENAME_SHIPPING . '"><u>Shipping and Return</u></a>');
define('TEXT_AVAILABLE_SHIPPING_MODS', 'Shipping methods available:');
define('TEXT_SHIPPING_GROUP', '<b>Remember to group your purchases, free shipping from 100EUR (France Only)</b>');
Bon code