le montant de l'option ne s'ajoute plus |
Bienvenue invité ( Connexion | Inscription )
le montant de l'option ne s'ajoute plus |
18 Nov 2015, 17:34
Message
#1
|
|
Ceinture blanche OSC Groupe : Membres Messages : 7 Inscrit : 18-November 15 Membre no 32686 |
Bonjour,
j'ai repris la mise à jour d'un site d'un ami créé avec une ancienne version d'oscommerce (2003). j'ai modifié le prix dans les attributs de mes produits. Le nouveau prix s'affiche bien à côté de mon option (texte) dans la fiche produit . Par contre lors de l'ajout dans le panier, le prix de l'option ne s'ajoute pas au prix de l'article. Le texte de l'option lui s'affiche bien en dessous du libellé de l'article J'ai cherché en vain quel paramètre j'aurais pu modifié et maintenant je suis "sec". Auriez vous une idée de l'origine de mon problème ? Merci d'avance pour votre aide. Ce message a été modifié par christ71 - 18 Nov 2015, 17:35. |
|
19 Nov 2015, 09:22
Message
#2
|
|
Ceinture bleue OSC Groupe : Membres Messages : 912 Inscrit : 4-February 04 Membre no 1926 |
Bonjour,
As tu une url pour constater le problème , -------------------- L'indispensable est en cours de traitement,
L'urgent sera traité demain, Le normal sera traité plus tard, Le reste on vera ... En conclusion : les journées sont trop courtes. Utilisateur de MS2.2 Max 1.5 - OSC-Affiliate 1.09 - Admin With Access Levels 2.1 - Meta Tag Controller/ Generator - Credit/Gift Voucher/Coupons 5.05 - Download Controller v5.3 - X-Sell MS2 - WYSIWYG HTML Editor for Admin 1.7 - Dynamic Mo Pics - Loginbox Best - Order logging before payment processing - User Tracking - Faster Page Loads, Less DB queries - Plus plein de modifs perso :-) |
|
19 Nov 2015, 10:32
Message
#3
|
|
Ceinture blanche OSC Groupe : Membres Messages : 7 Inscrit : 18-November 15 Membre no 32686 |
Bonjour,
voici l'adresse de la boutique : http://www.artdustylo.com/shop/index.php toutes les collections ne sont pas configurées avec l'option gravure car j'étais en train de le faire quand je me suis aperçu du problème. Le premier stylo de la collection Roadstar a bien l'option texte à graver. Normalement le fait de rentrer un texte ajoute automatiquement le prix de l'option au prix de base du stylo. merci de t'intéresser à mon problème christian |
|
19 Nov 2015, 18:09
Message
#4
|
|
Ceinture bleue OSC Groupe : Membres Messages : 912 Inscrit : 4-February 04 Membre no 1926 |
Effectivement.
Sais-tu quelle contribution est utilisée pour gérer cet ajout de texte ? As-tu fait des modifications récentes ? La logique voudrait que oui et probablement sur le fichier shopping_cart.php du sous-répertoire "classes". L'information passe bien au panier : on a le products_id (243) , le products_options_id (txt_1) et logiquement le products_options_value_id (textedelagravure) mais c'est le montant qui n'est pas mis à jour. Peux tu mettre dans ton panier un stylo avec un message à graver et regarder dans la table customers_basket_attributes ce que tu as comme info correspondante ? A priori (sans connaitre la contribution) tu vas retrouver les infos correspondante. Peux-tu poster ton fichier shopping_cart.php ? -------------------- L'indispensable est en cours de traitement,
L'urgent sera traité demain, Le normal sera traité plus tard, Le reste on vera ... En conclusion : les journées sont trop courtes. Utilisateur de MS2.2 Max 1.5 - OSC-Affiliate 1.09 - Admin With Access Levels 2.1 - Meta Tag Controller/ Generator - Credit/Gift Voucher/Coupons 5.05 - Download Controller v5.3 - X-Sell MS2 - WYSIWYG HTML Editor for Admin 1.7 - Dynamic Mo Pics - Loginbox Best - Order logging before payment processing - User Tracking - Faster Page Loads, Less DB queries - Plus plein de modifs perso :-) |
|
20 Nov 2015, 09:51
Message
#5
|
|
Ceinture blanche OSC Groupe : Membres Messages : 7 Inscrit : 18-November 15 Membre no 32686 |
bonjour,
j'étais absent hier soir donc j'ai pu reprendre mes tests que ce matin. je tiens à préciser que je suis un amateur en informatique et que je ne maîtrise pas grand chose. Je me contente de faire des modifications de présentation ou de mise à jour des données via l'interface admin. Bon je sais rentrer dans les fichiers du code et aller consulter la base de données chez mon hébergeur. pour mon problème : je n'ai pas modifié grand chose dernièrement, mais j'ai peut-être fait une fausse manip ? le problème est apparu lorsque j'ai modifié le paramétrage des attributs par l'interface : site/shop/admin/products_attribute... pour répondre à tes questions : qu'appelles-tu contribution ? un fichier php ? J'ai ajouté un stylo avec un texte à graver : test gravure. voici les images de base de données : TABLE customer basket attribute table customer basket : comment fait-on pour envoyer le fichier shopping_cart.php ? Ce message a été modifié par christ71 - 20 Nov 2015, 09:52. |
|
20 Nov 2015, 09:57
Message
#6
|
|
Ceinture blanche OSC Groupe : Membres Messages : 7 Inscrit : 18-November 15 Membre no 32686 |
Pour le fichier shopping_cart, je fais un test avec la fonction "insérer un code" :
Code <?php
/* $Id: shopping_cart.php,v 1.73 2003/06/09 23:03:56 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ require("includes/application_top.php"); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_SHOPPING_CART); $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_SHOPPING_CART)); // START DELETE PAYPAL TEMP ORDER // Check to see if customer has cancelled a paypal_ipn process if ( $HTTP_GET_VARS['ipn']== 'cancel_ipn' && tep_not_null($HTTP_GET_VARS['order']) ) { // Make sure that this order is THIS customers' order // We don't want anybody to pass order numbers to here and delete other people's orders!!!! $delete_order_query = tep_db_query("SELECT customers_id FROM " . TABLE_ORDERS . " WHERE `orders_id`='" . (int)$HTTP_GET_VARS['order'] . "'"); $delete_order = tep_db_fetch_array($delete_order_query); //echo "DEBUG - delete_order=".$delete_order['customers_id']." "; //echo "DEBUG - customer id in session=".$customer_id." "; if ( $delete_order['customers_id']==$customer_id ) { // Delete the order //echo "DEBUG - about to delete order!!! "; tep_remove_order($HTTP_GET_VARS['order'], ''); } } // END DELETE PAYPAL TEMP ORDER ?> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> <title><?php echo TITLE; ?></title> <base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>"> <link rel="stylesheet" type="text/css" href="stylesheet.css"> </head> <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0"> <!-- header //--> <?php require(DIR_WS_INCLUDES . 'header.php'); ?> <!-- header_eof //--> <!-- body //--> <table border="0" width="100%" cellspacing="3" cellpadding="3"> <tr> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <!-- left_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_left.php'); ?> <!-- left_navigation_eof //--> </table></td> <!-- body_text //--> <td width="100%" valign="top"><?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_SHOPPING_CART, 'action=update_product')); ?><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> <td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_cart.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php if ($cart->count_contents() > 0) { ?> <tr> <td> <?php $info_box_contents = array(); $info_box_contents[0][] = array('align' => 'center', 'params' => 'class="productListing-heading"', 'text' => TABLE_HEADING_REMOVE); $info_box_contents[0][] = array('params' => 'class="productListing-heading"', 'text' => TABLE_HEADING_PRODUCTS); $info_box_contents[0][] = array('align' => 'center', 'params' => 'class="productListing-heading"', 'text' => TABLE_HEADING_QUANTITY); $info_box_contents[0][] = array('align' => 'right', 'params' => 'class="productListing-heading"', 'text' => TABLE_HEADING_TOTAL); $any_out_of_stock = 0; $products = $cart->get_products(); for ($i=0, $n=sizeof($products); $i<$n; $i++) { // Push all attributes information in an array if (isset($products[$i]['attributes']) && is_array($products[$i]['attributes'])) { while (list($option, $value) = each($products[$i]['attributes'])) { //clr 030714 move hidden field to if statement below echo tep_draw_hidden_field('id[' . $products[$i]['id'] . '][' . $option . ']', $value); $attributes = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where pa.products_id = '" . (int)$products[$i]['id'] . "' and pa.options_id = '" . (int)$option . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . (int)$value . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . (int)$languages_id . "' and poval.language_id = '" . (int)$languages_id . "'"); $attributes_values = tep_db_fetch_array($attributes); //clr 030714 determine if attribute is a text attribute and assign to $attr_value temporarily if ($value == PRODUCTS_OPTIONS_VALUE_TEXT_ID) { echo tep_draw_hidden_field('id[' . $products[$i]['id'] . '][' . TEXT_PREFIX . $option . ']', $products[$i]['attributes_values'][$option]); $attr_value = $products[$i]['attributes_values'][$option]; } else { echo tep_draw_hidden_field('id[' . $products[$i]['id'] . '][' . $option . ']', $value); $attr_value = $attributes_values['products_options_values_name']; } $products[$i][$option]['products_options_name'] = $attributes_values['products_options_name']; $products[$i][$option]['options_values_id'] = $value; //clr 030714 assign $attr_value $products[$i][$option]['products_options_values_name'] = $attr_value; $products[$i][$option]['options_values_price'] = $attributes_values['options_values_price']; $products[$i][$option]['price_prefix'] = $attributes_values['price_prefix']; } } } for ($i=0, $n=sizeof($products); $i<$n; $i++) { if (($i/2) == floor($i/2)) { $info_box_contents[] = array('params' => 'class="productListing-even"'); } else { $info_box_contents[] = array('params' => 'class="productListing-odd"'); } $cur_row = sizeof($info_box_contents) - 1; $info_box_contents[$cur_row][] = array('align' => 'center', 'params' => 'class="productListing-data" valign="top"', 'text' => tep_draw_checkbox_field('cart_delete[]', $products[$i]['id'])); $products_name = '<table border="0" cellspacing="2" cellpadding="2">' . ' <tr>' . ' <td class="productListing-data" align="center"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '">' . tep_image(DIR_WS_IMAGES . $products[$i]['image'], $products[$i]['name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a></td>' . ' <td class="productListing-data" valign="top"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '"><b>' . $products[$i]['name'] . '</b></a>'; if (STOCK_CHECK == 'true') { $stock_check = tep_check_stock($products[$i]['id'], $products[$i]['quantity']); if (tep_not_null($stock_check)) { $any_out_of_stock = 1; $products_name .= $stock_check; } } if (isset($products[$i]['attributes']) && is_array($products[$i]['attributes'])) { reset($products[$i]['attributes']); while (list($option, $value) = each($products[$i]['attributes'])) { $products_name .= ' <small><i> - ' . $products[$i][$option]['products_options_name'] . ' ' . $products[$i][$option]['products_options_values_name'] . '</i></small>'; } } $products_name .= ' </td>' . ' </tr>' . '</table>'; $info_box_contents[$cur_row][] = array('params' => 'class="productListing-data"', 'text' => $products_name); $info_box_contents[$cur_row][] = array('align' => 'center', 'params' => 'class="productListing-data" valign="top"', 'text' => tep_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="4"') . tep_draw_hidden_field('products_id[]', $products[$i]['id'])); $info_box_contents[$cur_row][] = array('align' => 'right', 'params' => 'class="productListing-data" valign="top"', 'text' => '<b>' . $currencies->display_price($products[$i]['final_price'], tep_get_tax_rate($products[$i]['tax_class_id']), $products[$i]['quantity']) . '</b>'); } new productListingBox($info_box_contents); ?> </td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td align="right" class="main"><b><?php echo SUB_TITLE_SUB_TOTAL; ?> <?php echo $currencies->format($cart->show_total()); ?></b></td> </tr> <?php if ($any_out_of_stock == 1) { if (STOCK_ALLOW_CHECKOUT == 'true') { ?> <tr> <td class="stockWarning" align="center"> <?php echo OUT_OF_STOCK_CAN_CHECKOUT; ?></td> </tr> <?php } else { ?> <tr> <td class="stockWarning" align="center"> <?php echo OUT_OF_STOCK_CANT_CHECKOUT; ?></td> </tr> <?php } } ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main"><?php echo tep_image_submit('button_update_cart.gif', IMAGE_BUTTON_UPDATE_CART); ?></td> <?php $back = sizeof($navigation->path)-2; if (isset($navigation->path[$back])) { ?> <td class="main"><?php echo '<a href="' . tep_href_link($navigation->path[$back]['page'], tep_array_to_string($navigation->path[$back]['get'], array('action')), $navigation->path[$back]['mode']) . '">' . tep_image_button('button_continue_shopping.gif', IMAGE_BUTTON_CONTINUE_SHOPPING) . '</a>'; ?></td> <?php } ?> <td align="right" class="main"><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '">' . tep_image_button('button_checkout.gif', IMAGE_BUTTON_CHECKOUT) . '</a>'; ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <?php } else { ?> <tr> <td align="center" class="main"><?php new infoBox(array(array('text' => TEXT_CART_EMPTY))); ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td align="right" class="main"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <?php } ?> </table></form></td> <!-- body_text_eof //--> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <!-- right_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_right.php'); ?> <!-- right_navigation_eof //--> </table></td> </tr> </table> <!-- body_eof //--> <!-- footer //--> <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> <!-- footer_eof //--> </body> </html> <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> |
|
21 Nov 2015, 09:36
Message
#7
|
|
Ceinture blanche OSC Groupe : Membres Messages : 7 Inscrit : 18-November 15 Membre no 32686 |
Bonjour,
j'ai rechargé à partir d'une sauvegarde les fichiers shopping-cart.php et shipping.php des dossiers shop/ et shop/includes/classes et shop/includes/boxes/ mais cela n'a rien changé à mon problème. J'ai trouvé une solution pour m'en sortir en rajoutant une case à cocher, qui elle ajoute bien le montant de l'option au prix de l'article. C'est un peu trivial et cela risque d'occasionner des erreurs de la part des clients. Si je ne trouve pas l'origine du problème, je mettrais cela en oeuvre, bien que cela va me demander de reconfigurer toutes les options de mes articles et tous les textes des articles. Cordialement christian |
|
Version bas débit | Nous sommes le : 29th March 2024 - 07:08 |
Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |