Jump to content
xt:Commerce Community Forum

Problem Preise bei Artikelmerkmalen


Recommended Posts

Hallo zusammen

Ich habe folgendes Problem: Ich habe h?ufig denselben Artikel, aber in unterschiedlicher Menge. Als Beispiel: Italienisches Oliven?l 50ml, 100ml oder 500ml. Da es mir zu umst?ndlich war das alles jeweils als einzelnen Artikel einzugeben, und die Beschreibung ja auch jeweils dieselbe ist, habe ich mit den Artikel-Optionen gearbeitet. Leider ist das jetzt f?r die Kunden sehr un?bersichtlich, da sie immer den Kaufpreis und den Zusatzbetrag f?r die gr??ere Menge addieren m?ssen, und der Zusatzbetrag ist manchmal sehr hoch bzw. der Gesamtbetrag f?r weniger Begabte ist schwer zu errechnen, ich w?rde sogar sagen f?r DAKs (DAK=D?mmster anzunehmender Kunde) gar nicht ersichtlich.

Als Beispiel: http://truestyle.tr.ohost.de/product_info....1&cPath=245_289

Zwar kann man als schlechter Kopfrechner (so wie ich) sp?testens im Warenkorb sehen wieviel der Artikel nun letztendlich kostet, aber ich bef?rchte diese un?bersichtliche Preisauszeichnung k?nnte rechtliche Probleme mit sich bringen, worauf ich auch schon hingewiesen wurde.

Am liebsten w?re mir wenn dort statt nur "+1,50" "+1,50 = 6,50 ?", oder als Tabellenkalkulationsformel ausgedr?ckt "+Options-Aufpreis = (Options-Aufpreis + Grundpreis)" st?nde. Das zu Programmieren d?rfte vermutlich nicht schwierig sein, wenn man den Ahnung von php h?tte... :blush:

Kann mir vielleicht jemand behilflich sein und mir verraten welchen Code ich daf?r eingeben muss? Das w?re sehr lieb!

Link to comment
Share on other sites

Hier ist ne kleine Modifikation. Habe sie auf XTC-Version 2 ausprobiert. Aber ich denke funktioniert auch in Version 3.

Datei:

includes/modules/product_attributes.php

Sichere vorher auf jeden Fall deine Originaldatei.

Gru?

Hen


 <?php

/* -----------------------------------------------------------------------------------------

  $Id: product_attributes.php,v 1.16 2004/02/21 22:38:22 fanta2k Exp $


  XT-Commerce - community made shopping

  http://www.xt-commerce.com


  Copyright (c) 2003 XT-Commerce

  -----------------------------------------------------------------------------------------

  patched by Hubbabubba 09/2005

  -----------------------------------------------------------------------------------------

  based on: 

  (c) 2000-2001 The Exchange Project (earlier name of osCommerce)

  (c) 2002-2003 osCommerce(product_info.php,v 1.94 2003/05/04); [url]www.oscommerce.com[/url] 

  (c) 2003   nextcommerce (product_info.php,v 1.46 2003/08/25); [url]www.nextcommerce.org[/url]


  Released under the GNU General Public License

  -----------------------------------------------------------------------------------------

  Third Party contribution:

  Customers Status v3.x (c) 2002-2003 Copyright Elari [email][email protected][/email] | [url]www.unlockgsm.com/dload-osc/[/url] | CVS : http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/elari/?sortby=date#dirlist

  New Attribute Manager v4b              Autor: Mike G | [email][email protected][/email] | http://downloads.ephing.com

  Cross-Sell (X-Sell) Admin 1             Autor: Joshua Dechant (dreamscape)

  Released under the GNU General Public License

  ---------------------------------------------------------------------------------------*/

$module_smarty=new Smarty;

$module_smarty->assign('tpl_path','templates/'.CURRENT_TEMPLATE.'/');


  $products_attributes_query = xtc_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$_GET['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$_SESSION['languages_id'] . "'");

  $products_attributes = xtc_db_fetch_array($products_attributes_query);

  if ($products_attributes['total'] > 0) {

   $products_options_name_query = xtc_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)$_GET['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$_SESSION['languages_id'] . "' order by popt.products_options_name");


    $row = 0;

 	$col = 0;

 	$products_options_data=array();

   while ($products_options_name = xtc_db_fetch_array($products_options_name_query)) {

    $selected = 0;


// kleiner Extrazufriff auf Produkte um Preis zu ermitteln

    $products_query = xtc_db_query("select products_price

                    from " . TABLE_PRODUCTS . "

                    where products_id = '" . (int)$_GET['products_id'] . "'");

    $products_price = xtc_db_fetch_array($products_query);

    $products_price = $products_price['products_price'];

// Artikelpreis liegt in nun $products_price vor


    $products_options_array = array();


	$products_options_data[$row]=array(

    'NAME'=>$products_options_name['products_options_name'],

    'ID' => $products_options_name['products_options_id'],

    'DATA' =>'');

    $products_options_query = xtc_db_query("select pov.products_options_values_id,

                         pov.products_options_values_name,

                         pa.attributes_model,

                         pa.options_values_price,

                         pa.price_prefix,

                         pa.attributes_stock,

                         pa.attributes_model

                         from " . TABLE_PRODUCTS_ATTRIBUTES . " pa,

                         " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov

                         where pa.products_id = '" . (int)$_GET['products_id'] . "'

                         and pa.options_id = '" . $products_options_name['products_options_id'] . "'

                         and pa.options_values_id = pov.products_options_values_id

                         and pov.language_id = '" . (int)$_SESSION['languages_id'] . "'

                         order by pa.sortorder");

    $col = 0;

    while ($products_options = xtc_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'].' '.xtc_get_products_attribute_price($products_options['options_values_price'], $tax_class=$product_info['products_tax_class_id'],$price_special=0,$quantity=1,$prefix=$products_options['price_prefix']).' '.$_SESSION['currency'];

     }

     $price='';

     if ($products_options['options_values_price']!='0.00') {

//     $price = xtc_format_price(xtc_get_products_attribute_price($products_options['options_values_price'], $tax_class=$product_info['products_tax_class_id'],$price_special=0,$quantity=1,$prefix=$products_options['price_prefix']),1,false,1);

// Addition $products_price

     $price = xtc_format_price($products_price+xtc_get_products_attribute_price($products_options['options_values_price'], $tax_class=$product_info['products_tax_class_id'],$price_special=0,$quantity=1,$prefix=$products_options['price_prefix']),1,false,1);

     }

     $products_options_data[$row]['DATA'][$col]=array(

         'ID' => $products_options['products_options_values_id'],

         'TEXT' =>$products_options['products_options_values_name'],

                  'MODEL' =>$products_options['attributes_model'],

// price_prefix auskommentiert, soll nicht mehr angezeigt werden

//                            'PRICE' =>$price,

//                            'PREFIX' =>$products_options['price_prefix']);

                            'PRICE' =>$price);


    $col++;

    }

   $row++;

   }


  }

 // template query

 $template_query=xtc_db_query("SELECT

                options_template

                FROM ".TABLE_PRODUCTS."

                WHERE products_id='".$_GET['products_id']."'");

 $template_data=xtc_db_fetch_array($template_query);

 if ($template_data['options_template']=='' or $template_data['options_template']=='default') {

     $files=array();

 if ($dir= opendir(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_options/')){

 while (($file = readdir($dir)) !==false) {

    if (is_file( DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_options/'.$file) and ($file !="index.html")){

    $files[]=array(

            'id' => $file,

            'text' => $file);

    }//if

    } // while

    closedir($dir);

 }

 $template_data['options_template']=$files[0]['id'];

 }


 $module_smarty->assign('language', $_SESSION['language']);

 $module_smarty->assign('options',$products_options_data);

 // set cache ID

 if (USE_CACHE=='false') {

 $module_smarty->caching = 0;

 $module= $module_smarty->fetch(CURRENT_TEMPLATE.'/module/product_options/'.$template_data['options_template']);

 } else {

 $module_smarty->caching = 1;	

 $module_smarty->cache_lifetime=CACHE_LIFETIME;

 $module_smarty->cache_modified_check=CACHE_CHECK;

 $cache_id = $_GET['products_id'].$_SESSION['language'].$_SESSION['customers_status']['customers_status_name'];

 $module= $module_smarty->fetch(CURRENT_TEMPLATE.'/module/product_options/'.$template_data['options_template'],$cache_id);

 }

 $info_smarty->assign('MODULE_product_options',$module);


 ?>

Link to comment
Share on other sites

Originally posted by Hatschepuh@Sep 7 2005, 01:40 PM

?hm... hab ich das richtig verstanden, dass ich den vorhandenen Code durch diesen ersetzen soll? Dann passiert n?mlich das hier:

http://truestyle.tr.ohost.de/product_info....id=260&cPath=45

Oder hab ich mal wieder alles verrafft?

Quoted post

Bitte benutze einen Ascii-Editor. Notepad ist optimal. Das ist der Editor aus dem Windows Zubeh?r, Start->Zubeh?r->Editor.

Gru?

Hen

Link to comment
Share on other sites

Versuchs mal damit


 <?php

/* -----------------------------------------------------------------------------------------

  $Id: product_attributes.php,v 1.18 2004/06/11 18:21:38 fanta2k Exp $


  XT-Commerce - community made shopping

  http://www.xt-commerce.com


  Copyright (c) 2003 XT-Commerce

  -----------------------------------------------------------------------------------------

  gepatched

  -----------------------------------------------------------------------------------------

  based on: 

  (c) 2000-2001 The Exchange Project (earlier name of osCommerce)

  (c) 2002-2003 osCommerce(product_info.php,v 1.94 2003/05/04); [url]www.oscommerce.com[/url] 

  (c) 2003   nextcommerce (product_info.php,v 1.46 2003/08/25); [url]www.nextcommerce.org[/url]


  Released under the GNU General Public License

  -----------------------------------------------------------------------------------------

  Third Party contribution:

  Customers Status v3.x (c) 2002-2003 Copyright Elari [email][email protected][/email] | [url]www.unlockgsm.com/dload-osc/[/url] | CVS : http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/elari/?sortby=date#dirlist

  New Attribute Manager v4b              Autor: Mike G | [email][email protected][/email] | http://downloads.ephing.com

  Cross-Sell (X-Sell) Admin 1             Autor: Joshua Dechant (dreamscape)

  Released under the GNU General Public License

  ---------------------------------------------------------------------------------------*/



$module_smarty=new Smarty;

$module_smarty->assign('tpl_path','templates/'.CURRENT_TEMPLATE.'/');


  $products_attributes_query = xtc_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$_GET['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$_SESSION['languages_id'] . "'");

  $products_attributes = xtc_db_fetch_array($products_attributes_query);

  if ($products_attributes['total'] > 0) {

   $products_options_name_query = xtc_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)$_GET['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$_SESSION['languages_id'] . "' order by popt.products_options_name");


    $row = 0;

 	$col = 0;

 	$products_options_data=array();


   while ($products_options_name = xtc_db_fetch_array($products_options_name_query)) {

    $selected = 0;

    $products_options_array = array();


	$products_options_data[$row]=array(

    'NAME'=>$products_options_name['products_options_name'],

    'ID' => $products_options_name['products_options_id'],

    'DATA' =>'');

    $products_options_query = xtc_db_query("select pov.products_options_values_id,

                         pov.products_options_values_name,

                         pa.attributes_model,

                         pa.options_values_price,

                         pa.price_prefix,

                         pa.attributes_stock,

                         pa.attributes_model

                         from " . TABLE_PRODUCTS_ATTRIBUTES . " pa,

                         " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov

                         where pa.products_id = '" . (int)$_GET['products_id'] . "'

                         and pa.options_id = '" . $products_options_name['products_options_id'] . "'

                         and pa.options_values_id = pov.products_options_values_id

                         and pov.language_id = '" . (int)$_SESSION['languages_id'] . "'

                         order by pa.sortorder");

    $col = 0;

    while ($products_options = xtc_db_fetch_array($products_options_query)) {

     $price='';

      if ($_SESSION['customers_status']['customers_status_show_price'] == '0') {

           $products_options_data[$row]['DATA'][$col]=array(

                  'ID' => $products_options['products_options_values_id'],

                  'TEXT' =>$products_options['products_options_values_name'],

                  'MODEL' =>$products_options['attributes_model'],

                  'PRICE' =>'',

                  'FULL_PRICE'=>'',

                  'PREFIX' =>$products_options['price_prefix']);

      } else {


     $products_price=$xtPrice->xtcGetPrice($product_info['products_id'],

                    $format=false,

                    1,

                    $product_info['products_tax_class_id'],

                    $product_info['products_price']);


     if ($products_options['options_values_price']!='0.00') {

     $price = $xtPrice->xtcFormat($products_price+$products_options['options_values_price'],false,$product_info['products_tax_class_id']);

     }


     $products_options_data[$row]['DATA'][$col]=array(

         'ID' => $products_options['products_options_values_id'],

         'TEXT' =>$products_options['products_options_values_name'],

                  'MODEL' =>$products_options['attributes_model'],

         'PRICE' =>$xtPrice->xtcFormat($price,true),

                  'FULL_PRICE'=>$xtPrice->xtcFormat($products_price+$price,true),

//                              'PREFIX' =>$products_options['price_prefix']);

                              'PREFIX' =>'');


      //if PRICE for option is 0 we don't need to display it

      if ($price == 0) { 

        unset($products_options_data[$row]['DATA'][$col]['PRICE']);

        unset($products_options_data[$row]['DATA'][$col]['PREFIX']);

      }


     }

    $col++;

    }

   $row++;

   }


  }

 // template query

 $template_query=xtc_db_query("SELECT

                options_template

                FROM ".TABLE_PRODUCTS."

                WHERE products_id='".(int)$_GET['products_id']."'");

 $template_data=xtc_db_fetch_array($template_query);

 if ($template_data['options_template']=='' or $template_data['options_template']=='default') {

     $files=array();

 if ($dir= opendir(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_options/')){

 while (($file = readdir($dir)) !==false) {

    if (is_file( DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_options/'.$file) and ($file !="index.html")){

    $files[]=array(

            'id' => $file,

            'text' => $file);

    }//if

    } // while

    closedir($dir);

 }

 $template_data['options_template']=$files[0]['id'];

 }


 $module_smarty->assign('language', $_SESSION['language']);

 $module_smarty->assign('options',$products_options_data);

 // set cache ID

 if (USE_CACHE=='false') {

 $module_smarty->caching = 0;

 $module= $module_smarty->fetch(CURRENT_TEMPLATE.'/module/product_options/'.$template_data['options_template']);

 } else {

 $module_smarty->caching = 1;	

 $module_smarty->cache_lifetime=CACHE_LIFETIME;

 $module_smarty->cache_modified_check=CACHE_CHECK;

 $cache_id = $_GET['products_id'].$_SESSION['language'].$_SESSION['customers_status']['customers_status_name'];

 $module= $module_smarty->fetch(CURRENT_TEMPLATE.'/module/product_options/'.$template_data['options_template'],$cache_id);

 }

 $info_smarty->assign('MODULE_product_options',$module);


 ?>

Link to comment
Share on other sites

Hallo, das kannste doch ?ber die Artikelmerkmale machen.

Leg ein Artikelmerkmal an: zB. Flaschen

als Optionsmerkmal: K?che / Parf?m / Geschenk

Dann ein Merkmal ml oder so.

als Optionsmerkmal: 50 125 250 500 1000 oder ?hnlich

Die Preise kannste da auch angeben.

Danach gibst Du unter Artikelverwaltung f?r den Artikel die Optionen ein.

Nimm f?r die Darstellung " dropdown " und " info....1 " an.

Die Reihung der " Flaschen " und " ml " kannste dann in den Optionen zuordnen

1 f?r K?che

2 f?r Parf?m

3 f?rGeschenk

4 f?r 50

5 f?r 100 usw. sollte dann etwa so aussehen:

http://www.my-dessous-shop.de/new_shop/pro...products_id=316

vergi? nicht f?r Mengen ( ML / Liter / gr. Kilo / Meter ) die Preise pro 1 Liter pro 1 Kilo pro 10 mtr. in der Artikelbeschreibung anzugeben. Gibt evtl. Abmahnungen von Anw?lten.( siehe Forum suche nach " Abmahnungen " )

Hoffe es hilft Dir weiter.

Link to comment
Share on other sites

Vor allem: Wenn tats?chlich die Mehrwertsteuer erh?ht wird, muss ich bei jedem meiner 1500 Artikel diese Angabe ?ndern, da sich ja nicht nur der Verkaufspreis ?ndert, was durch eine simple ?nderung des allgemeinen Mehrwertsteuersatzes bewirkt wird, sondern nat?rlich auch der Grundpreis, den ich jeweils in die Artikeloptionen mit rein schreiben muss. Da hab ich keinen Bock drauf!

Link to comment
Share on other sites

Hallo Hen,

ich wusste ?brigens gar nicht, dass ich Version 3 habe, weil ich das Ding als Xoom-Shop gekauft habe. Sonst h?tte ich Dir das nat?rlich gleich verraten.

Ich hoffe Du kannst mir (hoffentlich zum letzten Mal jetzt!) noch bei Folgendem helfen: Es w?re gut, wenn bei den Artikeloptionen die nicht mehr oder weniger, also den Grundpreis kosten, dieser auch noch mal angegeben w?re. Damit auch der d?mmste Kunde es rafft.

Au?erdem habe ich auf auf senior006des Ratschlag hin das Wochende damit verbracht ?berall den Grundpreis mit in die Artikelbeschreibung zu schreiben. Bei den Artikeln mit Optionen w?re das allerdings sehr un?bersichtlich, und ich w?rde dort das Feld f?r Gewicht gern benutzen um den Grundpreis reinzuschreiben. So wie es jetzt ist kann man glaub ich nur Zahlen reinschreiben, die dann f?r den Versand addiert werden? Die Funktion ben?tige ich nicht, es w?re toll wenn man das +/- einfach wegmachen k?nnte, und dieses Zahleneingabefeld in ein normales Textfeld verwandelt. Fertig sollte es dann so aussehen, dass "Grundpreis 100ml: XY ?" in kleinerer Schriftart links vom Endpreis steht.

Ich hoffe sehr Du kannst mir dabei helfen. Habe schon ?berlegt Sponsor zu werden, aber 99,- ? auf einmal kann ich mir grad nicht leisten. Wenn man das monatlich bezahlen k?nnte w?rd ichs sofort machen, will ja nicht immer umsonst Hilfe beanspruchen.

Liebe Gr??e

Hatschepuh

Link to comment
Share on other sites

> ich wusste ?brigens gar nicht, dass ich Version 3 habe, weil ich das Ding als

> Xoom-Shop gekauft habe. Sonst h?tte ich Dir das nat?rlich gleich verraten.

Hi Hatschipuh,

sch?n reingefallen. XTC h?ttest du auch kostenlos haben k?nnen. F?r 150 M?cken h?tte ich dir deine Gimmicks komplett programmiert und installiert + Gew?hrleistung und Nachsorgeservice.

> Feld f?r Gewicht gern benutzen um den Grundpreis reinzuschreiben. So wie es jetzt

> ist kann man glaub ich nur Zahlen reinschreiben, die dann f?r den Versand addiert

> werden? Die Funktion ben?tige ich nicht, es w?re toll wenn man das +/- einfach

> wegmachen k?nnte, und dieses Zahleneingabefeld in ein normales Textfeld

> verwandelt. Fertig sollte es dann so aussehen, dass "Grundpreis 100ml: XY ?" in

> kleinerer Schriftart links vom Endpreis steht.

Puh. Was willst du?

Versteh ich das richtig?

Der Normale Preis (ohne Optionen) soll neben den Optionspreisen nochmal stehen?!

Z.B. dein Gew?rz?l

http://truestyle.tr.ohost.de/product_info....=1462&cPath=1_4

Neben den 5,78 und den 19,28 soll stehen "Grundpreis 100 ml 4,- EUR"??

Grundpreis 100 ml 4,- EUR 5,78

Grundpreis 100 ml 4,- EUR 19,28

Gru?

Hen

Link to comment
Share on other sites

Also, bei dem genannten Beispiel steht ja momentan

Standard C

Dekor II 5,78 EUR

1l Kaninster 19,28 EUR

Da soll einfach bei Standard C auch der Preis stehen, was ja in diesem Fall dem Grundpreis entspricht, also

Standard C 4,00 EUR

Dekor II 5,78 EUR

1l Kaninster 19,28 EUR

Das soll nat?rlich bei allen Artikeloptionen so sein die keinen abweichenden Preis haben, dort soll einfach anstatt gar nichts der normale Preis angezeigt werden.

Das Beispiel mit dem Grundpreis stimmt so, in diesem Beispiel w?rde das fertig so aussehen:

Standard C Grundpreis 100ml: 4,00 EUR 4,00 EUR

Dekor II Grundpreis 100ml: 5,78 EUR 5,78 EUR

1l Kanister Grundpreis 100ml: 1,93 EUR 19,28

Ist bei dem Beispiel ein bi?chen bescheuert, schlie?lich ist der Endpreis bei Standard C und Dekor II derselbe wie der Grundpreis. Jedenfalls sollte man den Text "Grundpreis 100ml: XY EUR" einfach frei eingeben k?nnen. So dass man theoretisch auch irgendwas anderes reinschreiben k?nnte, da schlag ich gleich zwei Fliegen mit einer Klappe.

Optimal w?rs nat?rlich wenn das Ganze so programmiert und in den Shop integriert w?re, dass sich mit dem ?ndern des Mehrwertsteuersatzes auch dieser Grundpreis anpasst. Ich freu mich n?mlich schon tierisch darauf diese Grundpreisangabe bei 1600 Artikeln ab?ndern zu d?rfen wenn die Mehrwertsteuer erh?ht wird. :angry: Aber das ist wohl zu viel verlangt und auch recht schwierig nehm ich mal an? Ich bin jedenfalls sehr froh wenn ich ?berhaupt eine geschickte M?glichkeit habe den Grundpreis anzugeben, so wie im Beispiel dargestellt.

Ja, h?tte ich das alles schon vorher gewusst, dann h?tte ich Dir mit Kusshand 150 ? bezahlt!!! Hinterher ist man immer schlauer. Aber wenn ich es mir leisten kann in ein paar Monaten meinen Shop ein bi?chen aufpeppen zu lassen (n?tig w?rs, sieht schon rein optisch recht bescheiden aus) bekommst Du den Auftrag als Allererster angeboten! Da kannst Du sicher sein!

Link to comment
Share on other sites

Etwas anders ausgedr?ckt.

Du willst:

1.) In der ersten Option auch den Preis

2.) Du m?chtest vor der Preisangabe bei den Optionen noch einen frei definierbaren zus?tzlichen Preis angeben k?nnen.

1.) Das l?sst sich mit einem kleinen Hack realisieren.

?ffne Datei includes/modules/product_attributes.php

Zeile 80 ungef?hr findes du folgenden Code:

 if ($products_options['options_values_price']!='0.00') {

  $price = $xtPrice->xtcFormat(...

 }
Die if-Konstruktion auskommentieren ("//" davor setzen).
 // if ($products_options['options_values_price']!='0.00') {

  $price = $xtPrice->xtcFormat(...

// }

2.) Das bedarf schon mehr als 2-3 ge?nderten Programmzeilen. Da m?sste man in tiefere Gew?sser. W?rde hier den Rahmen sprengen.

mfg

Link to comment
Share on other sites

Zu 1): Ich suche und suche, kann die Stelle aber nicht finden:

<?php /* ----------------------------------------------------------------------------------------- $Id: product_attributes.php,v 1.18 2004/06/11 18:21:38 fanta2k Exp $ XT-Commerce - community made shopping http://www.xt-commerce.com Copyright © 2003 XT-Commerce ----------------------------------------------------------------------------------------- gepatched ----------------------------------------------------------------------------------------- based on: © 2000-2001 The Exchange Project (earlier name of osCommerce) © 2002-2003 osCommerce(product_info.php,v 1.94 2003/05/04); www.oscommerce.com © 2003 nextcommerce (product_info.php,v 1.46 2003/08/25); www.nextcommerce.org Released under the GNU General Public License ----------------------------------------------------------------------------------------- Third Party contribution: Customers Status v3.x © 2002-2003 Copyright Elari [email protected] | www.unlockgsm.com/dload-osc/ | CVS : http://cvs.sourceforge.net/cgi-bin/viewcvs...by=date#dirlist New Attribute Manager v4b Autor: Mike G | [email protected] | http://downloads.ephing.com Cross-Sell (X-Sell) Admin 1 Autor: Joshua Dechant (dreamscape) Released under the GNU General Public License ---------------------------------------------------------------------------------------*/ $module_smarty=new Smarty; $module_smarty->assign('tpl_path','templates/'.CURRENT_TEMPLATE.'/'); $products_attributes_query = xtc_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$_GET['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$_SESSION['languages_id'] . "'"); $products_attributes = xtc_db_fetch_array($products_attributes_query); if ($products_attributes['total'] > 0) { $products_options_name_query = xtc_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)$_GET['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$_SESSION['languages_id'] . "' order by popt.products_options_name"); $row = 0; $col = 0; $products_options_data=array(); while ($products_options_name = xtc_db_fetch_array($products_options_name_query)) { $selected = 0; $products_options_array = array(); $products_options_data[$row]=array( 'NAME'=>$products_options_name['products_options_name'], 'ID' => $products_options_name['products_options_id'], 'DATA' =>''); $products_options_query = xtc_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.attributes_model, pa.options_values_price, pa.price_prefix, pa.attributes_stock, pa.attributes_model from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . (int)$_GET['products_id'] . "' and pa.options_id = '" . $products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . (int)$_SESSION['languages_id'] . "' order by pa.sortorder"); $col = 0; while ($products_options = xtc_db_fetch_array($products_options_query)) { $price=''; if ($_SESSION['customers_status']['customers_status_show_price'] == '0') { $products_options_data[$row]['DATA'][$col]=array( 'ID' => $products_options['products_options_values_id'], 'TEXT' =>$products_options['products_options_values_name'], 'MODEL' =>$products_options['attributes_model'], 'PRICE' =>'', 'FULL_PRICE'=>'', 'PREFIX' =>$products_options['price_prefix']); } else { $products_price=$xtPrice->xtcGetPrice($product_info['products_id'], $format=false, 1, $product_info['products_tax_class_id'], $product_info['products_price']); if ($products_options['options_values_price']!='0.00') { $price = $xtPrice->xtcFormat($products_price+$products_options['options_values_price'],false,$product_info['products_tax_class_id']); } $products_options_data[$row]['DATA'][$col]=array( 'ID' => $products_options['products_options_values_id'], 'TEXT' =>$products_options['products_options_values_name'], 'MODEL' =>$products_options['attributes_model'], 'PRICE' =>$xtPrice->xtcFormat($price,true), 'FULL_PRICE'=>$xtPrice->xtcFormat($products_price+$price,true), // 'PREFIX' =>$products_options['price_prefix']); 'PREFIX' =>''); //if PRICE for option is 0 we don't need to display it if ($price == 0) { unset($products_options_data[$row]['DATA'][$col]['PRICE']); unset($products_options_data[$row]['DATA'][$col]['PREFIX']); } } $col++; } $row++; } } // template query $template_query=xtc_db_query("SELECT options_template FROM ".TABLE_PRODUCTS." WHERE products_id='".(int)$_GET['products_id']."'"); $template_data=xtc_db_fetch_array($template_query); if ($template_data['options_template']=='' or $template_data['options_template']=='default') { $files=array(); if ($dir= opendir(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_options/')){ while (($file = readdir($dir)) !==false) { if (is_file( DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_options/'.$file) and ($file !="index.html")){ $files[]=array( 'id' => $file, 'text' => $file); }//if } // while closedir($dir); } $template_data['options_template']=$files[0]['id']; } $module_smarty->assign('language', $_SESSION['language']); $module_smarty->assign('options',$products_options_data); // set cache ID if (USE_CACHE=='false') { $module_smarty->caching = 0; $module= $module_smarty->fetch(CURRENT_TEMPLATE.'/module/product_options/'.$template_data['options_template']); } else { $module_smarty->caching = 1; $module_smarty->cache_lifetime=CACHE_LIFETIME; $module_smarty->cache_modified_check=CACHE_CHECK; $cache_id = $_GET['products_id'].$_SESSION['language'].$_SESSION['customers_status']['customers_status_name']; $module= $module_smarty->fetch(CURRENT_TEMPLATE.'/module/product_options/'.$template_data['options_template'],$cache_id); } $info_smarty->assign('MODULE_product_options',$module); ?>

Wo ist es?

Zu 2): K?nntest Du das denn f?r mich machen und was w?rde das kosten?

LG

Hatschepuh

Link to comment
Share on other sites

  • 6 months later...

Hallo,

ich habe versucht die Datei product_attributs wie oben beschrieben zu ?berschreiben. Hat auch soweit funktioniert. Nur leider haut das mit der MwSt irgendwie nicht hin. Wenn mein Artikel 69.90 kosten soll, dann muss ich bei den Artikeloptionen 81,08 eingeben, damit der Artikel am Ende 69.90 kostet.

Oder mache ich was falsch?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...