Aide - Recherche - Membres - Calendrier
Version complète : [resolu] livraison differents pour chaque produit
Forum osCommerce-fr > Adapter OsCommerce MS2 > Modules de Paiement et de Livraison
domontr
bonjour, d'abore je voudrait feliciter les concepteur de cette contrib qu'est OScommerce,
ensuite pour resumer mon probleme, je voudrait que le coup de livraison soit different pour chaque produit, c'est a dire :

exemple :
* 2500 fly : 150€ HT + 18€ de livraison
* 1500 Carte de visite : 75€ HT + 15€ de livraison
* 5000 carte US : 220€ HT + 26€ de livraison

sous total : 445€ HT + 59€ de livraison
TVA 19.6% : 87.22€
Total : 532.22€ TTC + 59€ de livraison = 591.22€ TTC

j'espere que vous conprennait ce que je desire faire si oui pouvait vous m'aider a mettre la chose en place ou si il existe un module m'indiquer lequel.
merci d'avance.
oneill
Individual Product Shipping Prices - v1.0
domontr
ok merci je look
AlexKidd
Humm je remonte ce Post!

Dites est ce qu'on peut combiner le frais de port par produit et rajouter en plus un surplus en fonction de la zone geographique de livraison? blink.gif

idea.gif
oneill
il ta faudait un module spécifique pour ca, j'ai vu ca quelque part déjà
oneill
Peut être
Per Products, Per Zone shipping Module
AlexKidd
huh.gif

Ce que j'aimerais faire c'est rajouter un champ dans la BDD.
Et ensuite lors du calcul de la livraison ce servir de ce champ pour calculer leprix de livraison confused.gif
oneill
QUOTE (oneill @ 21 mar 2005, 00:44)
Individual Product Shipping Prices - v1.0

Donc !
AlexKidd
Et on peut ensuite gérer la zone geographique ?? rolleyes.gif
oneill
Comme les autres modules
AlexKidd
Jvé essayer alors merci
oneill
Je préciserais que Individual Product Shipping Prices - v1.0 s'adapte à tous les modules de shipping et que, par conséquent, on peut régler lesdits modules par zones tout à fait normalement
Valerie
j'ai installé le module qui apparait ok dans l'admin, par contre, côté boutique j'obtiens :


QUOTE
Fatal error: Call to a member function on a non-object in /var/www/html/includes/classes/order.php on line 166




la ligne en question dans classes/order.php est :

//phpmom.com indv shipping
if($shipping['id']==indvship_indvship){
$shipping_cost = $shipping['cost']; }
else {$shipping_cost = $shipping['cost'] + $shipping_modules->get_shiptotal();}//end


il est à noter que vis à vis de l'instal suivante :

QUOTE
2-includes application_top.php
at the end before the ?> add
require(DIR_WS_CLASSES . 'shipping.php');
$shipping_modules = new shipping;
and also add
(NOTE MAKE SURE YOU DO NOT HAVE THIS FUNCTION ANYWHERE IN ANY FILE. TEST-ADD IT AS INSTRUCTED IF YOU GET AN ERROR LIKE "cannot redeclare tep_get_configuration_key_value" or something REMOVE IT YOU ALREADY HAVE IT)
function tep_get_configuration_key_value($lookup) {
$configuration_query_raw= tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key='" . $lookup . "'");
$configuration_query= tep_db_fetch_array($configuration_query_raw);
$lookup_value= $configuration_query['configuration_value'];
return $lookup_value;
}


j'obtenais le message d'erreur indiqué, c'est à dire :
QUOTE
cannot redeclare tep_get_configuration_key_value



je n'ai donc pas rajouté le code à rajouter dans cette page application_top.php


merci d'avance à celui qui saura m'aider !
(pour info, ceci concerne une install sur le site sous ms2).


Valerie
il est également à noter que dans catalog/checkout-shipping.php

je n'aie pas du tout les infos spécifiées dans l'install :

6-catalog/checkout_shipping.php

QUOTE
IF YOU HAVE
if ((tep_get_configuration_key_value('MODULE_SHIPPING_FREESHIPPER_STATUS') and $cart->show_weight()!=0)||(tep_get_configuration_key_value('MODULE_SHIPPING_INDVSHIP_STATUS') and $shiptotal)) {
change to
if ((tep_get_configuration_key_value('MODULE_SHIPPING_FREESHIPPER_STATUS') and $cart->show_weight()!=0)/*||(tep_get_configuration_key_value('MODULE_SHIPPING_INDVSHIP_STATUS') and $shiptotal)*/) {
Or just remove the last part between /* */
----------------------------------
IF YOU HAVE
require(DIR_WS_CLASSES . 'shipping.php');
$shipping_modules = new shipping;

REMOVE IT (we added it to application_top to use as a global)



et certainement l'erreur vient de là puisque mon message d'erreur arrive sur cette page. Sinon le site peut se visiter san sproblème, les articles s'ajouter au panier...
Valerie
hello,

bon n'arrivant pas à installer cette contrib, j'ai retiré les fichiers modifiés pour les remplacer par les originaux, mais maintenant lorsque je veux accéder dans mon admin à une fiche produit, impossible !

j'obtiens ça :

QUOTE
1146 - Table *****_com_-_***.TABLE_PRODUCTS_SHIPPING' doesn't exist

SELECT * FROM TABLE_PRODUCTS_SHIPPING WHERE products_id=3235

[TEP STOP]


Je ne comprend pas car dans mon phpmyadmin, j'ai bien la table products_shipping !
xaglo
la table "products_shipping" existe peut-être dans ta base mais pas la table "TABLE_PRODUCTS_SHIPPING". Il doit te manquer ce define() dans includes/database_table.php
CODE
 define('TABLE_PRODUCTS_SHIPPING', 'products_shipping');
Valerie
si il y est bien.
xaglo
pourtant ton message d'erreur est bien:
QUOTE
1146 - Table *****_com_-_***.TABLE_PRODUCTS_SHIPPING' doesn't exist

SELECT * FROM TABLE_PRODUCTS_SHIPPING WHERE products_id=3235

[TEP STOP]
Et l'informatique, c'est bête. Si elle te dit que ça n'existe pas, c'est que ça n'existe pas. Vérifie et revérifie bien où est ton erreur. Soit ton define() n'existe pas (attention dans le bon fichier, ne mélange pas catalog et admin) soit il y a une faute de frappe, soit le fichier n'est pas appelé, soit... Mais elle a raison tongue.gif
Valerie
Non, j'obtiens toujours, à la fois quand je demande Editer ou Dupliquer :

QUOTE
1146 - Table ' *********.com_-_***.TABLE_PRODUCTS_SHIPPING' doesn't exist

select products_ship_methods_id, products_ship_zip from TABLE_PRODUCTS_SHIPPING where products_id = '2803'

[TEP STOP]




Si je double clique sur le lien de la fiche produit pour voir le produit sans l'éditer, j'obtiens

QUOTE
1146 - Table 'esprit-tibetain_com_-_osc.TABLE_PRODUCTS_SHIPPING' doesn't exist

SELECT * FROM TABLE_PRODUCTS_SHIPPING WHERE products_id=2803

[TEP STOP]




et si je fais Nouveau produit, j'obtiens :

QUOTE
1146 - Table '*********_com_-_***TABLE_SHIPPING_METHODS' doesn't exist

select methods_id, methods_name from TABLE_SHIPPING_METHODS

[TEP STOP]





Par contre, j'ai pu voir que je peux apporter des modifications via la contrib Price update.





Dans mon fichier CATALOG/INCLUDES/DATABASE_TABLES.PHP
j'ai

QUOTE
<?php
/*
  $Id: database_tables.php,v 1.0 2003-11-06 20:58:37+01 bluedog Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright © 2003 osCommerce

  Released under the GNU General Public License
        Contribution B2BSuite id="id20031008144119"
        released by Walter "BluEdoG" Tosolini (info AT bluedog DOT it)
*/

// define the database table names used in the project
  define('TABLE_ADDRESS_BOOK', 'address_book');
  define('TABLE_ADDRESS_FORMAT', 'address_format');
  define('TABLE_BANNERS', 'banners');
  define('TABLE_BANNERS_HISTORY', 'banners_history');
  define('TABLE_CATEGORIES', 'categories');
  define('TABLE_CATEGORIES_DESCRIPTION', 'categories_description');
  define('TABLE_CONFIGURATION', 'configuration');
  define('TABLE_CONFIGURATION_GROUP', 'configuration_group');
  define('TABLE_COUNTER', 'counter');
  define('TABLE_COUNTER_HISTORY', 'counter_history');
  define('TABLE_COUNTRIES', 'countries');
  define('TABLE_CURRENCIES', 'currencies');
  define('TABLE_CUSTOMERS', 'customers');
  define('TABLE_CUSTOMERS_BASKET', 'customers_basket');
  define('TABLE_CUSTOMERS_BASKET_ATTRIBUTES', 'customers_basket_attributes');
  define('TABLE_CUSTOMERS_INFO', 'customers_info');
  define('TABLE_LANGUAGES', 'languages');
  define('TABLE_MANUFACTURERS', 'manufacturers');
  define('TABLE_MANUFACTURERS_INFO', 'manufacturers_info');
  define('TABLE_ORDERS', 'orders');
  define('TABLE_ORDERS_PRODUCTS', 'orders_products');
  define('TABLE_ORDERS_PRODUCTS_ATTRIBUTES', 'orders_products_attributes');
  define('TABLE_ORDERS_PRODUCTS_DOWNLOAD', 'orders_products_download');
  define('TABLE_ORDERS_STATUS', 'orders_status');
  define('TABLE_ORDERS_STATUS_HISTORY', 'orders_status_history');
  define('TABLE_ORDERS_TOTAL', 'orders_total');
  define('TABLE_PRODUCTS', 'products');
  define('TABLE_PRODUCTS_ATTRIBUTES', 'products_attributes');
  define('TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD', 'products_attributes_download');
  define('TABLE_PRODUCTS_DESCRIPTION', 'products_description');
  define('TABLE_PRODUCTS_NOTIFICATIONS', 'products_notifications');
  define('TABLE_PRODUCTS_OPTIONS', 'products_options');
  define('TABLE_PRODUCTS_OPTIONS_VALUES', 'products_options_values');
  define('TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS', 'products_options_values_to_products_options');
  define('TABLE_PRODUCTS_TO_CATEGORIES', 'products_to_categories');
  define('TABLE_REVIEWS', 'reviews');
  define('TABLE_REVIEWS_DESCRIPTION', 'reviews_description');
  define('TABLE_SESSIONS', 'sessions');
  define('TABLE_SPECIALS', 'specials');
  define('TABLE_TAX_CLASS', 'tax_class');
  define('TABLE_TAX_RATES', 'tax_rates');
  define('TABLE_GEO_ZONES', 'geo_zones');
  define('TABLE_ZONES_TO_GEO_ZONES', 'zones_to_geo_zones');
  define('TABLE_WHOS_ONLINE', 'whos_online');
  define('TABLE_ZONES', 'zones');
  define('TABLE_CUSTOMERS_GROUPS', 'customers_groups');
  define('TABLE_PRODUCTS_GROUPS', 'products_groups');
  define('TABLE_GROUPS_TO_CATEGORIES', 'groups_to_categories');
  define('TABLE_FEATURED', 'featured');
  define('TABLE_ADDITIONAL_IMAGES', 'additional_images'); //additional Images
  define('TABLE_PRODUCTS_SHIPPING', 'products_shipping');
        ?>



Etant donné que je suis dans une démarche de remettre tout comme avant, c'est à dire sans cette nouvelle contrib que je n'ai pu installer, je pensais qu'il fallait supprimer ce
CODE
define('TABLE_PRODUCTS_SHIPPING', 'products_shipping');
puisqu'il était ajouté dans la contrib, mais meme supprimé, le résultat est identique.


Je vais donc re-tenter de réinstaller la contrib pour la 4ème fois en espérant ne plus avoir les problèmes que j'avais rencontré coté boutique alors que coté admin c'était nickel.
Valerie
ok, j'ai réinstallé la contrib.

Coté admin, c'est ok, elle apparait bien. Je l'ai donc configurée sur True. Et Shipping Zone FR.

Coté boutique, tout est ok, sauf que je ne vois rien qui se passe !
Aucune info lorsqu'on arrive en page checkout-shipping, tout se passe comme avant, utilisant les contrib Colissimo suivi et Tarifs Zones internationales.


Et lorsuqe je vais dans l'admin pour vouloir modifier un produit, toujours le meme problème :

CODE
1146 - Table '*******_com_-_*****.TABLE_PRODUCTS_SHIPPING' doesn't exist

SELECT * FROM TABLE_PRODUCTS_SHIPPING WHERE products_id=3034

[TEP STOP]


donc que je remettre la contrib ou que je l'enlève, je suis bloquée complet, ne pouvant plus rien faire sur la boutique, modifier les produits, en rajouter. Bref, c'est panique à bord.

Si je n'arrive pas à m'en sortir, est-ce que je pourrai transferer tout de meme tous mes produits sous une nouvelle boutique ?
xaglo
tu dis
QUOTE

Dans mon fichier CATALOG/INCLUDES/DATABASE_TABLES.PHP
j'ai
ton soucis n'est pas dans le catalog mais dans l'admmin.

vérifie donc dans admin//inludes/
Valerie
oui, effectivement, on avance un peu. Tu as bien vu, il manquait le define sous l'admin. Par contre, c'était pas indiqué sur le fichier d'install de la contrib.


J'ai donc rajouté le define dans le database_tables de l'admin, et maintenant je n'ai plus le message d'erreur,

QUOTE
1146 - Table ' *********.com_-_***.TABLE_PRODUCTS_SHIPPING' doesn't exist

select products_ship_methods_id, products_ship_zip from TABLE_PRODUCTS_SHIPPING where products_id = '2803'

[TEP STOP]



par contre, j'ai celui ci :
QUOTE
1146 - Table '*********_com_-_***.TABLE_SHIPPING_METHODS' doesn't exist
select methods_id, methods_name from TABLE_SHIPPING_METHODS

[TEP STOP]



Il est vrai que la table shipping_methods n'existe pas dans ma bdd. Le hic est qu'il n'y a aucune info non plus à ce sujet dans le fichier d'install... ?

A moins que je n'aie pas le bon ?

xaglo
désolé je ne connais pas cette contrib
Valerie
Ok, j'ai trouvé l'info sur le forum américain.

Il faut donc rajouter la table shipping_methods

QUOTE
CREATE TABLE `shipping_methods` (
`methods_id` int(10) unsigned NOT NULL auto_increment,
`methods_name` varchar(32) NOT NULL default '',
`methods_module` varchar(32) NOT NULL default '',
`methods_handling_charge` decimal(5,2) NOT NULL default '0.00',
`methods_handling_per_box` tinyint(1) NOT NULL default '0',
`methods_tare_weight` decimal(4,2) NOT NULL default '0.00',
`methods_max_box_weight` tinyint(3) unsigned NOT NULL default '0',
`date_added` datetime default NULL,
`last_modified` datetime default NULL,
`ship_zipcode` varchar(32) NOT NULL default '',
PRIMARY KEY  (`methods_id`)
) TYPE=MyISAM AUTO_INCREMENT=14;


et les 2 defines dans le database_tables.php du catalog/includes et de l'admin/includes.
QUOTE
define('TABLE_SHIPPING_METHODS, 'shipping_methods');


Et ça marche super bien !
Contrib recommandée !

Valerie
le lien où l'info se trouve si autres problèmes :

http://forums.oscommerce.com/index.php?sho...19&#entry566919
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2013 Invision Power Services, Inc.