>> A savoir que le Poste Livre est limité à 1 Kg et qu'il n'y a que le Grand Format d'inséré (petit format à rajouter).
Un GRAND merci à xaglo pour m'avoir plus qu'aidé à faire ce module.
Pour l'installation, 3 choses :
Ce fichier nommé postelivre.php à placer dans catalog/includes/modules/shipping :
CODE |
<?php /* $Id: PosteLivre.php,v 1 23/05/2003 3:00:00 Exp $ Released under the GNU General Public License www.oscommerce-fr.info */ class postelivre { var $code, $title, $description, $icon, $enabled; // class constructor function postelivre() { $this->code = 'postelivre'; $this->title = MODULE_SHIPPING_POSTELIVRE_TEXT_TITLE; $this->description = MODULE_SHIPPING_POSTELIVRE_TEXT_DESCRIPTION; $this->sort_order = MODULE_SHIPPING_POSTELIVRE_SORT_ORDER; $this->icon = DIR_WS_ICONS . 'poste_livre.gif'; $this->enabled = MODULE_SHIPPING_POSTELIVRE_STATUS; } // class methods function quote($method = '') { global $order, $shipping_weight; $this->quotes = array('id' => $this->code, 'module' => MODULE_SHIPPING_POSTELIVRE_TEXT_TITLE, 'methods' => array()); if (tep_not_null($this->icon)) $this->quotes['icon'] = tep_image($this->icon, $this->title); $dest_country = $order->delivery['country']['iso_code_2']; if (($dest_country != 'FR') && ($dest_country != 'FX')) { if (MODULE_SHIPPING_POSTELIVRE_DISPLAY == 'False') return; else { $this->quotes['error'] = MODULE_SHIPPING_POSTELIVRE_INVALID_ZONE; return $this->quotes; } } if ($shipping_weight < MODULE_SHIPPING_POSTELIVRE_MINI) { if (MODULE_SHIPPING_POSTELIVRE_DISPLAY == 'False') return; else { $this->quotes['error'] = MODULE_SHIPPING_POSTELIVRE_INVALID_WEIGHT; return $this->quotes; } } if ($shipping_weight > MODULE_SHIPPING_POSTELIVRE_MAXI) { if (MODULE_SHIPPING_POSTELIVRE_DISPLAY == 'False') return; else { $this->quotes['error'] = MODULE_SHIPPING_POSTELIVRE_TOO_HEAVY; return $this->quotes; } } $table = split("[:,]" , $cost = constant('MODULE_SHIPPING_POSTELIVRE_GF')); for ($i = 0; $i < sizeof($table); $i+=2) { if ($shipping_weight > $table[$i]) continue; $this->quotes['methods'][] = array('id' => $this->code, 'title' => $shipping_weight . ' ' . MODULE_SHIPPING_POSTELIVRE_TEXT_UNITS, 'cost' => $table[$i+1] + MODULE_SHIPPING_POSTELIVRE_HANDLING); return $this->quotes; } $this->quotes['error'] = MODULE_SHIPPING_POSTELIVRE_TOO_HEAVY; return $this->quotes; } function check() { $check = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_SHIPPING_POSTELIVRE_STATUS'"); $check = tep_db_num_rows($check); return $check; } function install() { tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Valider Poste Livre', 'MODULE_SHIPPING_POSTELIVRE_STATUS', 'True', 'Activer Poste Livre / D&sactiver sans perdre les valeurs chang&es', '6', '0', 'tep_cfg_select_option(array('True', 'False'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Poids minimum', 'MODULE_SHIPPING_POSTELIVRE_MINI', '0.100', 'Poids minimum de la commande pour proposer le Poste Livre', '6', '8', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Affichage permanent', 'MODULE_SHIPPING_POSTELIVRE_DISPLAY', 'True', 'Permettre l'affichage du texte même si la m&thode n'est pas possible', '6', '7', 'tep_cfg_select_option(array('True', 'False'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Poste Livre Grand Format', 'MODULE_SHIPPING_POSTELIVRE_GF', '1.000:5.26', 'Port bas& sur le poids total des produits. Exemple: 1:3.50,2:7.00,etc.. Jusqu'à 1 Kg facturer 3.50, jusqu'à 2 Kg, 7.00, etc', '6', '0', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Frais fixes', 'MODULE_SHIPPING_POSTELIVRE_HANDLING', '0', 'Frais fixes (emballage) pour postelivre', '6', '0', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Ordre d'affichage', 'MODULE_SHIPPING_POSTELIVRE_SORT_ORDER', '0', 'Ordre d'affichage de la m&thode de livraison.', '6', '0', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Poids maximum', 'MODULE_SHIPPING_POSTELIVRE_MAXI', '1.000', 'Poids maximum de la commande pour proposer le Poste Livre', '6', '8', now())"); } function remove() { tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } function keys() { return array('MODULE_SHIPPING_POSTELIVRE_STATUS', 'MODULE_SHIPPING_POSTELIVRE_MINI', 'MODULE_SHIPPING_POSTELIVRE_DISPLAY', 'MODULE_SHIPPING_POSTELIVRE_GF', 'MODULE_SHIPPING_POSTELIVRE_HANDLING', 'MODULE_SHIPPING_POSTELIVRE_SORT_ORDER','MODULE_SHIPPING_POSTELIVRE_MAXI'); } } ?> |
Puis celui-ci nommé encore postelivre.php à placer dans catalogincludeslanguagesfrenchmodulesshipping :
CODE |
<?php /* $Id: PosteLivre.php,v 1 23/05/2003 3:00:00 Exp $ Released under the GNU General Public License www.oscommerce-fr.info */ define('MODULE_SHIPPING_POSTELIVRE_TEXT_TITLE', 'Poste Livre'); define('MODULE_SHIPPING_POSTELIVRE_TEXT_DESCRIPTION', 'Tarif Poste Livre<br><b>Attention!</b> la désactivation de ce module rétablira les valeurs par défaut'); define('MODULE_SHIPPING_POSTELIVRE_TEXT_WAY', 'Optimum'); define('MODULE_SHIPPING_POSTELIVRE_TEXT_WEIGHT', 'Poids'); define('MODULE_SHIPPING_POSTELIVRE_TEXT_UNITS', 'kg'); define('MODULE_SHIPPING_POSTELIVRE_INVALID_ZONE', 'Cette zone n'est pas couverte'); define('MODULE_SHIPPING_POSTELIVRE_INVALID_WEIGHT', 'Poste Livre GF disponible & partir de '. MODULE_SHIPPING_POSTELIVRE_MINI . ' ' . MODULE_SHIPPING_POSTELIVRE_TEXT_UNITS . ' seulement.'); define('MODULE_SHIPPING_POSTELIVRE_TOO_HEAVY', 'Colis trop lourd pour cette m&thode de livraison'); ?> |
et ce logo (nommé poste_livre.gif) à placer dans catalogimagesicons.
Y'a plus qu'à se rendre dans l'Admin, partie Module de livraison et activer la ligne Poste Livre.
Et voilou..si ça peut servir hein
@ pluche!