Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
22 May 2012, 12:32
Message
#1
|
|
|
Ceinture jaune OSC Groupe : Membres Messages : 63 Inscrit : 10-March 12 Membre no 30700 |
Bonjour à tous,
Voilà depuis quelques temps déjà je recherche une contribution qui pourrait me permettre d'afficher plusieurs prix pour un produit. Je m'explique, tous ( ou quasiment tous) mes produits existent sous différentes taille ou quantité ( selon le produit). En fonction de cette taille / quantité le prix du produit n'est pas le même évidemment. Or, je ne sais pas si c'est possible de le faire directement sur oscommercce sans module - en tout cas je n'y suis pas parvenue. J'ai donc effectué plusieurs recherches à ce niveau qui m'ont mené vers la contribution : QPBPP Par facilité, j'ai l'installé directement sur un oscommerce vierge pour voir ce qu'il donnait - et là c'est une horreur sans nom. Des erreurs de partout... Par ailleurs dans le guide d'installation certains bout de code ne correspondent pas aux codes des fichiers existant d'origine => donc la version QPBPP n'est pas compatible avec la dernière version d'Oscommerce? Bref, donc je me tourne vers vous, pour savoir si vous avez trouvé un moyen de mettre plusieurs prix à vos produits, car sans ça l'utilisation de Oscommerce m'est inutile :\ Par avance, merci Ce message a été modifié par freestyle83 - 24 May 2012, 16:08. -------------------- Version : Osc 2.3 - modifié
Contributions installées: Actual attribute Price | accordion catégories menu | multi attribute v2 | Modif personnelles: Slider en page d'accueil | menu horizontale déroulant sur plusieurs colonnes | produits aléatoires dans les articles | |
|
|
22 May 2012, 14:18
Message
#2
|
|
![]() Ceinture verte OSC Groupe : Membres Messages : 708 Inscrit : 30-May 06 Lieu : Vichy (03) Membre no 10583 |
Bonjour,
Le lien que tu donnes pointe vers une contrib pour la version MS.2.2. Vu que tu parles de la dernière version d'OsCommerce, j'en déduis que c'est la 2.3.1, donc la contrib équivalente pour cette version est ici. -------------------- Config : Osc 2.2 très fortement modifié ... entièrement refait en mai 2012 (passage en UTF-8 et Php 5.3). Le passage à la 2.3 demanderait trop de travail mais je la teste en local ...
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + bidouilles persos pas très OsCommerce (erreurs de jeunesse) En local j'utilise UwAmp, que du bonheur ... |
|
|
22 May 2012, 14:26
Message
#3
|
|
|
Ceinture jaune OSC Groupe : Membres Messages : 63 Inscrit : 10-March 12 Membre no 30700 |
hélàààà quelle con*e que je suis ! ! !
Mais oui bien sure que je n'avais pas la bonne version ! Je me doutais bien qu'il y avais un problème de version mais je pensais pas que la contribution existait sous plusieurs forme!! Je pensais plus à une incompatibilité entre les deux ! pff ça m'apprendra! Je vais m'en occuper tout de suite. Merci Bonbec Bon je viens d'installer la contribution. A priori beaucoup moins d'erreur que ce que j'ai eu avec l'autre .... normal ! En attendant j'ai quand même deux erreurs dont une que je pense que je vais avoir du mal à trouver : Erreur 1 : - lorsque je vais dans la partie administration et que je clique sur n'importe quel lien de l'onglet "configuration" que ce soit les anciens comme les nouveau j'ai cettte erreur: Fatal error: Call to undefined function tep_localise_select() in /homez.443/toutsurlq/www/catalog/admin/configuration.php on line 88 Je n'ai pas touché à ce fameux fichier c'est pourquoi je pense que ce n'est pas le fichier en question qui est à l'origine de l'erreur... J'ai quand même été voir cette ligne 88 et bon comme par magie j'ai : $cfgValueLocalised = tep_localise_select($cfgValue); concretement, étant néophyte d'osc ça ne m'apporte rien... peut importe je ne pense pas que ce soit lié à ce fichier Erreur 2 Toujours dans la partie administration, si je fait catalogue > discount catégorie ( j'ai pas traduit) j'ai le menu qui devient "brute", comme s'il n'y avait pas de css. Au besoin je pourrais faire un screen. Erreur 1 et 2 sont-elles liées? => aucune idée. Sachant que je part d'un osc vierge, j'ai donc tout bêtement "balancé" le fichier. Tout à donc été remplacé sauf le fichier index que j'ai fait à la main. Je vais donc revérifier ce dernier "au cas ou". => Edit : revérifié , c'est pas ça J'ai tapé l'erreur 1 sur mon ami gogole et il me donne 0 réponse Merci Ce message a été modifié par freestyle83 - 22 May 2012, 16:03. -------------------- Version : Osc 2.3 - modifié
Contributions installées: Actual attribute Price | accordion catégories menu | multi attribute v2 | Modif personnelles: Slider en page d'accueil | menu horizontale déroulant sur plusieurs colonnes | produits aléatoires dans les articles | |
|
|
23 May 2012, 08:07
Message
#4
|
|
|
Ceinture jaune OSC Groupe : Membres Messages : 63 Inscrit : 10-March 12 Membre no 30700 |
Bon, j'ai finalement laisser tombé après avoir lu je ne sais combien de page sur la contrib en question sur le forum US. Pour y apprendre qu'en faite cette version n'est en quelque sorte pas "finalisée" et qu'il y a des bugs un peu partout.
Du coup je vais essayer de faire ce que je veux avec Oscommerce - dans l'espoir de pouvoir quand même tirer quelque chose de ce magnifique programme. Je vais parler en image c'est plus clair : Donc actuellement, avec les attributs, options ect on a ça : (design à part - c'est de l'état brute ) ![]() Et je voudrais ceci : ![]() Donc pas tout le tableau mais au moins les tailles, les prix, et "ajouter au panier" ou à défaut une case à cocher ou un bouton radio. C'est la seule chose dont j'ai réellement besoin. Ma question : (enfin mes) - Existe-t-il une contribution autre que QPBPP qui fait ceci ? - Si non, dans ce cas je serais prête à mettre les mains dans le cambouis si éventuellement - pour me faciliter la tâche- vous pouvez me dire si c'est possible ? et quels sont le/les fichier(s) à modifier ? En vous remerciant Edit : je viens de voir que je ne suis pas dans la bonne rubrique de contribution ( celle de MS2 au lieu de 2.3) si un modo passe par là, ça serait gentil de déplacer mon sujet dans la bonne rubrique. Avec mes excuses Ce message a été modifié par freestyle83 - 23 May 2012, 08:11. -------------------- Version : Osc 2.3 - modifié
Contributions installées: Actual attribute Price | accordion catégories menu | multi attribute v2 | Modif personnelles: Slider en page d'accueil | menu horizontale déroulant sur plusieurs colonnes | produits aléatoires dans les articles | |
|
|
23 May 2012, 08:16
Message
#5
|
|
![]() Ceinture verte OSC Groupe : Membres Messages : 708 Inscrit : 30-May 06 Lieu : Vichy (03) Membre no 10583 |
-------------------- Config : Osc 2.2 très fortement modifié ... entièrement refait en mai 2012 (passage en UTF-8 et Php 5.3). Le passage à la 2.3 demanderait trop de travail mais je la teste en local ...
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + bidouilles persos pas très OsCommerce (erreurs de jeunesse) En local j'utilise UwAmp, que du bonheur ... |
|
|
23 May 2012, 10:30
Message
#6
|
|
|
Ceinture jaune OSC Groupe : Membres Messages : 63 Inscrit : 10-March 12 Membre no 30700 |
Merci bonbec,
J'ai cherché la contribution correspondant au post que tu m'as donné. Installé et "adapté" si on peut parler ça d'adapter y-a pas grand chose à modifier Pour l'instant, - à l'état brut encore ( j'ai juste rajouter le border à la va-vite)- j'ai ceci : ![]() Alors ça correspond déjà un peu plus à ce que je veux faire et je dit un grand merci pour ça j'ai donc les "tailles" et la quantité voulue par l'utilisateur - testé l'ajout au panier et ça fonctionne sans problème. Me reste maintenant à virer ce " ( +€xx,xx) et le mettre dans une colonne à part entière et surtout mettre le prix de base ( et non pas l'ajout au prix).. je sais pas si je me suis fait comprendre ^^ Dans la contribution - sur le post que tu m'a donné y-avais cette image : http://www.carrelagesmoinscher.fr/dev/attr...u_dynamique.jpg Je me suis dit bingo j'ai même pas besoin de travailler le prix ..... A tord apparemment ou alors j'ai oublié quelque chose. Je vais donc me pencher dessus et si quelqu'un a quelque chose avant moi ça serait gentil qu'il me le fasse savoir Je pense que cela pourrait intéresser beaucoup de monde Encore merci Bonbec Edit : j'ai trouvé une contribution qui pourrait m'interressé et en interessé d'autre peut-être : ici Cette contribution "attrib_price_update_v1.5" permet d'afficher le prix global (prix de base + prix attribut) dans la page produit Ce qui m'interesse donc fortement. Je vais donc regarder ça de plus près et voir si je peux - déjà l'adapter - et ensuite le combiner avec l'autre. Edit2: Cette contrib ne me convient pas - je l'ai laissé tomber contre une autre. Voir le détail plus loin Ce message a été modifié par freestyle83 - 24 May 2012, 15:50. -------------------- Version : Osc 2.3 - modifié
Contributions installées: Actual attribute Price | accordion catégories menu | multi attribute v2 | Modif personnelles: Slider en page d'accueil | menu horizontale déroulant sur plusieurs colonnes | produits aléatoires dans les articles | |
|
|
24 May 2012, 15:37
Message
#7
|
|
|
Ceinture jaune OSC Groupe : Membres Messages : 63 Inscrit : 10-March 12 Membre no 30700 |
Bonjour,
Bon après avoir passé pas mal de temps à me prendre la tête j'ai réussi à obtenir ce que je voulais. Au moyen de deux contributions + des modifications apporter par moi-même. Autant dire que je connais en long en large et ne travers la page product_info ... ![]() Toujours à l'état brute ... Design plus tard. Voilà tout est bon pour moi. Je pensais avoir un dernier petit problème avec le prix de base mais en faite non. Tout marche nickel. Comment fait-on pour mettre le sujet en résolu? Edit : je mettrais le détails de ce que j'ai fait dimanche ça peut peut-être aidé d'autres personnes, en sachant que je ne suis qu'amateur . Donc à vos risques et périls ( pensez à la sauvegarde avant ^^) et bien sur à adapter. Ce message a été modifié par freestyle83 - 24 May 2012, 15:45. -------------------- Version : Osc 2.3 - modifié
Contributions installées: Actual attribute Price | accordion catégories menu | multi attribute v2 | Modif personnelles: Slider en page d'accueil | menu horizontale déroulant sur plusieurs colonnes | produits aléatoires dans les articles | |
|
|
24 May 2012, 16:00
Message
#8
|
|
![]() Ceinture verte OSC Groupe : Membres Messages : 708 Inscrit : 30-May 06 Lieu : Vichy (03) Membre no 10583 |
Bonjour,
Félicitations ! Quelles sont les contribs utilisées au final ? PS : pour mettre "résolu", il suffit d'éditer le premier message et dans le sujet rajouter [résolu] -------------------- Config : Osc 2.2 très fortement modifié ... entièrement refait en mai 2012 (passage en UTF-8 et Php 5.3). Le passage à la 2.3 demanderait trop de travail mais je la teste en local ...
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + bidouilles persos pas très OsCommerce (erreurs de jeunesse) En local j'utilise UwAmp, que du bonheur ... |
|
|
24 May 2012, 16:19
Message
#9
|
|
|
Ceinture jaune OSC Groupe : Membres Messages : 63 Inscrit : 10-March 12 Membre no 30700 |
Et bien j'ai utilisé
- Multi atributes V2 => pour avoir la mise en forme du tableau: ici et - Actual Attribue Price v1.8 (ainsi que "Actual attribute price easy" mis en ligne le 8 juillet 2011 sur la même contrib pour le bout de code qui manquait et qu'au final j'ai corrigé) => pour l'affichage des prix réels ici Ensuite j'ai adapté à mon code et à ce que je voulais faire. -------------------- Version : Osc 2.3 - modifié
Contributions installées: Actual attribute Price | accordion catégories menu | multi attribute v2 | Modif personnelles: Slider en page d'accueil | menu horizontale déroulant sur plusieurs colonnes | produits aléatoires dans les articles | |
|
|
25 May 2012, 07:08
Message
#10
|
|
![]() Ceinture verte OSC Groupe : Membres Messages : 708 Inscrit : 30-May 06 Lieu : Vichy (03) Membre no 10583 |
Re,
Un grand merci -------------------- Config : Osc 2.2 très fortement modifié ... entièrement refait en mai 2012 (passage en UTF-8 et Php 5.3). Le passage à la 2.3 demanderait trop de travail mais je la teste en local ...
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + bidouilles persos pas très OsCommerce (erreurs de jeunesse) En local j'utilise UwAmp, que du bonheur ... |
|
|
26 May 2012, 07:51
Message
#11
|
|
|
Ceinture jaune OSC Groupe : Membres Messages : 63 Inscrit : 10-March 12 Membre no 30700 |
Bonjour à tous,
Alors comme promis voici le détail de ce que j'ai fait : Donc comme expliquer au dessus, le tableau des prix viens de deux contributions différentes. ( vous y trouverais les liens à mon post précédents). Je n'ai pas la prétention de vous dire que c'est comme ça qu'il faut faire. Moi j'ai pris, j'ai passé des heures à réfléchir dessus ( surtout pour comprendre le code osc car encore nouvelle). Et j'ai modifié pour mes besoins et en fonction de mes connaissances. Si vous pensez pouvoir faire mieux, faites et je dirais même à la limite partager ^^. Le tableau sera à l'état brute, ce sera à vous de rajouter votre design. J'ai simplement laissé les border. Pour le bouton ajouter à la fin de chaque ligne je dois encore travailler dessus. Je ne vous l'ai donc pas mis. Si vous le voulez il suffit de rajouter le code du bouton dans le tableau. Et à travailler sur la manière dont le bouton fonctionne. Pour les prix, il affichera le prix tel que vous l'avez mis dans la partie admin - il ne faut pas mettre le prefixe ( rien- nada - case vide ). Pour ma part comme je n'avais que deux produits d'entrer cela me correspondait très bien. Pour vous, si vous avez une base complète il faudra sans doute laisser le code mis par "actual attribut price - le fameux petit code de la dernière version ) et le mettre à la place du morceau que j'ai mis ( j'ai précisé ou c'était) et probablement le modifier car je crois qu'il faisait le calcul à l'envers si mes souvenir sont bon - ( ou c'est moi qui avait surchauffé!!). Assez de blabla, je vous met toutes les modifications des deux contributions - j'ai précisé là ou j'ai modifié moi- même - à vous après de prendre et de mettre à votre sauce. PS : le code n'est pas indenter ( oui moi aussi je n'aime pas ça !) ps2: faite un copier / coller du code dans votre logiciel ( comme Notepad ++) mettez en langage php pour y voir plus clair ps3 : j'utilise osc v. 2.3 Code ================================== MULTIPLE CONTRIBUTE OPTIONS v2.0 ================================== ============================================ 1) Dans le fichier includes/application_top.php: ============================================ ===== Trouver ===== // Shopping cart actions if (isset($HTTP_GET_VARS['action'])) { ==================== Ajouter AVANT ce code ==================== ///////////////////////////////////////////////////////////////////////// //BOF Multi Attribute (combination) entry boxes in product info page v2.0 //Count how many options a product owns $products_options_total_query = tep_db_query(" select count(DISTINCT options_id) as total from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id='" . (int)$HTTP_GET_VARS['products_id'] . "'"); $products_options_total = tep_db_fetch_array($products_options_total_query); // $products_options_total['total']; //EOF Multi Attribute (combination) entry boxes in product info page v2.0 ///////////////////////////////////////////////////////////////////////// ======== Maintenant trouver: ======== $cart->add_cart($HTTP_POST_VARS['products_id'], $cart->get_quantity(tep_get_uprid($HTTP_POST_VARS['products_id'], $HTTP_POST_VARS['id']))+1, $HTTP_POST_VARS['id']); ======================= Remplacer le code par ======================= ///////////////////////////////////////////////////////////////////////// //BOF Multi Attribute (combination) entry boxes in product info page v2.0 if ($products_options_total['total'] != 1) { //standard add to cart function when 0 or more than 1 option with attributes $cart->add_cart($HTTP_POST_VARS['products_id'], $cart->get_quantity(tep_get_uprid($HTTP_POST_VARS['products_id'], $HTTP_POST_VARS['id'])) + $HTTP_POST_VARS['cart_quantity'], $HTTP_POST_VARS['id']); } else { // Code segment includes/modified for Multiple product option lines. // maintainance and Qns : Harishyam :> feenix_666@yahoo.com for($i=0;$i<10;$i++) { $qty_str = $i.'_quantity'; $arr = array(); $arr = $HTTP_POST_VARS[$i.'_id']; $qty = $HTTP_POST_VARS[$i.'_quantity']; $opt = $i.'_id'; //When having an attribute with zero quantity it would still be added to the cart, we don't want this. if ($qty != 0) { $cart->add_cart($HTTP_POST_VARS['products_id'], $cart->get_quantity(tep_get_uprid($HTTP_POST_VARS['products_id'], $arr))+$qty, $arr); } //end of that fix } // End of Code segment includes/modified for Multiple product option lines. // maintainance and Qns : Harishyam :> feenix_666@yahoo.com } //EOF Multi Attribute (combination) entry boxes in product info page v2.0 ///////////////////////////////////////////////////////////////////////// ============= Sauvegarder le fichier ============= ================================ 2) Ouvrir catalog/product_info.php ================================ ===== Trouver: ===== <?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?> ============ Remplacer par ============ <?php if ($products_options_total['total'] != 1) { echo 'Entrez une quantité: ' . tep_draw_input_field('cart_quantity','1','size="3"') . ' '; } ?> <?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?> ============================= Trouver le code ============================= <?php $products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "' order by popt.products_options_name"); while ($products_options_name = tep_db_fetch_array($products_options_name_query)) { $products_options_array = array(); $products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pa.options_id = '" . (int)$products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . (int)$languages_id . "'"); while ($products_options = tep_db_fetch_array($products_options_query)) { $products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']); if ($products_options['options_values_price'] != '0') { $products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') '; } } if (isset($cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']])) { $selected_attribute = $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']]; } else { $selected_attribute = false; } ?> <tr> <td class="main"><?php echo $products_options_name['products_options_name'] . ':'; ?></td> <td class="main"><?php echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute); ?></td> </tr> <?php } ?> </table> ================================================ Remplacer par tout ce qui suit: ================================================ <!-- // Code segment includes/modified for Multiple product option lines. // maintainance and Qns : Harishyam :> feenix_666@yahoo.com --> <table style="border:1px solide #000; margin:0px; clear: both;"> <?php if ($products_options_total['total'] == 1) { for($i=0;$i<$products_attributes['total'];$i++) { $products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "' order by popt.products_options_name"); while ($products_options_name = tep_db_fetch_array($products_options_name_query)) { // BOF passage légerement modifier par rapport à l'original // $products_options_array = array(); $products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix, pa.products_id, pro.products_price, pro.products_id from " . TABLE_PRODUCTS . " pro, " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pa.options_id = '" . (int)$products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pro.products_id = '" . (int)$HTTP_GET_VARS['products_id'] ."' and pov.language_id = '" . (int)$languages_id . "'"); while ($products_options = tep_db_fetch_array($products_options_query)) { $products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name'], 'price' => $products_options['options_values_price'], 'base' => $products_options['products_price']); // modification de Actual Attribute price if ($products_options['options_values_price'] == '0') $precio_total = $product_info['products_price']; elseif ($products_options['options_values_price'] != '0') $precio_total = $products_options['options_values_price']; // EOF passage légerement modifier par rapport à l'original // // Ligne non utile pour moi car je n'utilise pas la taxe - a adapter selon vos besoin - code d'origine // $products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $currencies->display_price($precio_total, tep_get_tax_rate($product_info['products_tax_class_id'])) .') '; if (isset($cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']])) { $selected_attribute = $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']]; } else { $selected_attribute = false; } ?> <!-- BOF passage modifier par rapport à l'original --> <tr> <!-- affiche une colonne avec le nom de l'option - non utile pour moi <td class="main"><?php// echo $products_options_name['products_options_name'] . ':'; ?></td>--> <td class="main"> <?php echo tep_draw_hidden_field($i.'_id[' . $products_options_name['products_options_id'] . ']', $products_options_array[$i]['id']) . $products_options_array[$i]['text']; ?></td> <td><strong > <?php // enlève les deux derniers zero qui s'affiche - et affiche le prix (réel) indiqué dans la partie admin echo substr($products_options_array[$i]['price'],0, -2)." €";?></strong></td> <?php echo '<td style=" background-color: #c5dbec;"><input type="text" name='.$i.'_quantity value="0" size="5"></td>';?> </tr> <!-- EOF passage modifier par rapport à l'original --> <?php } } // End of loop } else { //do your regular thing $products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "' order by popt.products_options_name"); while ($products_options_name = tep_db_fetch_array($products_options_name_query)) { $products_options_array = array(); $products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pa.options_id = '" . (int)$products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . (int)$languages_id . "'"); while ($products_options = tep_db_fetch_array($products_options_query)) { $products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']); //BOF passage modifier par rapport à l'original de Actual Attribute price if ($products_options['options_values_price'] == '0') $precio_total = $product_info['products_price']; elseif ($products_options['options_values_price'] != '0') $precio_total = $products_options['options_values_price']; //EOF passage modifier par rapport à l'original de Actual Attribute price if (isset($cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']])) { $selected_attribute = $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']]; } else { $selected_attribute = false; } ?> <tr> <td class="main"><?php echo $products_options_name['products_options_name'] . ':'; ?></td> <td class="main"><?php echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute); ?></td> </tr> <?php } } ?> </table> <!-- // End of Code segment includes/modified for Multiple product option lines. // maintainance and Qns : Harishyam :> feenix_666@yahoo.com --> ================================================================ Actual Attribute Price 1.7 ================================================================ 1 ******************************************************************************** Find in catalog/includes/classes/shopping_cart.php at normal line level (276) // attributes price if (isset($this->contents[$products_id]['attributes'])) { reset($this->contents[$products_id]['attributes']); while (list($option, $value) = each($this->contents[$products_id]['attributes'])) { $attribute_price_query = tep_db_query("select options_values_price, price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id = '" . (int)$prid . "' and options_id = '" . (int)$option . "' and options_values_id = '" . (int)$value . "'"); $attribute_price = tep_db_fetch_array($attribute_price_query); and replace all of this below: if ($attribute_price['price_prefix'] == '+') { $this->total += $currencies->calculate_price($attribute_price['options_values_price'], $products_tax, $qty); } else { $this->total -= $currencies->calculate_price($attribute_price['options_values_price'], $products_tax, $qty); } With the updated code here: // Actual Attribute Price $price_prefix = $attribute_price['price_prefix']; $option_price = $attribute_price['options_values_price']; $products_query = tep_db_query("select products_price from " . TABLE_PRODUCTS . " where products_id = '" . (int)$products_id . "'"); $products_stuff = tep_db_fetch_array($products_query); $products_price = $products_stuff['products_price']; if ($price_prefix == '+') { $this->total += $qty * tep_add_tax($option_price, $products_tax); } elseif ($price_prefix == '-') { $this->total -= $qty * tep_add_tax($option_price, $products_tax); } else { $this->total += $qty * tep_add_tax(tep_adjust_price($option_price, $products_price), $products_tax); } // Actual Attribute Price End 2. ******************************************************************************** Also find in catalog/includes/classes/shopping_cart.php at normal line level (292) function attributes_price($products_id) { $attributes_price = 0; if (isset($this->contents[$products_id]['attributes'])) { reset($this->contents[$products_id]['attributes']); while (list($option, $value) = each($this->contents[$products_id]['attributes'])) { $attribute_price_query = tep_db_query("select options_values_price, price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id = '" . (int)$products_id . "' and options_id = '" . (int)$option . "' and options_values_id = '" . (int)$value . "'"); $attribute_price = tep_db_fetch_array($attribute_price_query); and replace all of this below: if ($attribute_price['price_prefix'] == '+') { $attributes_price += $attribute_price['options_values_price']; } else { $attributes_price -= $attribute_price['options_values_price']; } With the updated code here: // Actual Attribute Price $price_prefix = $attribute_price['price_prefix']; $option_price = $attribute_price['options_values_price']; $products_query = tep_db_query("select products_price from " . TABLE_PRODUCTS . " where products_id = '" . (int)$products_id . "'"); $products_stuff = tep_db_fetch_array($products_query); $products_price = $products_stuff['products_price']; if ($price_prefix == '+') { $attributes_price += $option_price; } elseif ($price_prefix == '-') { $attributes_price -= $option_price; } else { $attributes_price += tep_adjust_price($option_price, $products_price); } // Actual Attribute Price 3. ******************************************************************************** In this file: catalog/includes/functions/general.php Add the following near the end of the file, just before the final: ?> // Actual Attribute Price function tep_adjust_price($attribute, $price) { $adjustment = ($attribute-$price); return $adjustment; } // Actual Attribute Price End 4. ******************************************************************************** Find in catalog/admin/products_attributes.php at normal line level (714) <input type="text" name="price_prefix" size="2" value="+"> Change to this: <input type="text" name="price_prefix" size="2" value=""> ******************************************************************************** Thats it. Step by Step is done ******************************************************************************** ================================================================ known mods of The Shopping Carts are most likly commented IE. ================================================================ if(!empty($attribute_price['options_values_weight'])) { // kumar@farmdev.com // add-weight-to-product-attributes mod: $this->weight += ($qty * $attribute_price['options_values_weight']); } // END if(!empty($attribute_price['options_values_weight'])) { Just comment out /* if(!empty($attribute_price['options_values_weight'])) { */ and your good. Ce message a été modifié par freestyle83 - 26 May 2012, 07:55. -------------------- Version : Osc 2.3 - modifié
Contributions installées: Actual attribute Price | accordion catégories menu | multi attribute v2 | Modif personnelles: Slider en page d'accueil | menu horizontale déroulant sur plusieurs colonnes | produits aléatoires dans les articles | |
|
|
20 Jul 2012, 17:21
Message
#12
|
|
|
Ceinture blanche OSC Groupe : Membres Messages : 1 Inscrit : 20-July 12 Membre no 31320 |
comment faire la même chose mais avec des boutons de radio? au lieu d'avoir à choisir le nombre d'achat
html_output Code // Output a form radio menu for product info page maniac101 merci!
function tep_draw_radio_menu($name, $values, $default = '', $parameters = '', $required = false) { $field ='<table border="0" cellspacing="0" cellpadding="0"><tr><td class="radio_text">'; if (empty($default) && isset($GLOBALS[$name])) $default = stripslashes($GLOBALS[$name]); for ($i=0, $n=sizeof($values); $i<$n; $i++) { $value = tep_output_string($values[$i]['id']); $field .= '<input type="radio" name="' . $name . '" value="' . $value . '"'; if ($i == 0) $field .= ' checked'; $field .= '>' . tep_output_string($values[$i]['text'], array('"' => '"', '\'' => ''', '<' => '<', '>' => '>')) .'<br />'; } $field .= '</td></tr></table>'; if ($required == true) $field .= TEXT_FIELD_REQUIRED; return $field; } //// |
|
|
![]() ![]() |
|
Version bas débit | Nous sommes le : 18th May 2013 - 22:18 |
| Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |