top-service-limbach Posted July 31, 2008 Report Share Posted July 31, 2008 Hallo alle zusammen, ich hätte da eine Frage zu den Attributen. Ich möchte folgendes bewektstelligen: Statt einen festen Betrag aufzurechnen, soll ein Prozentaufschlag erfolgen. Also sprich: Produktpreis: 59 EURO Aufschlag: 10 Prozent vom Produktpreis Habe schon in der products_attributes.php probiert, aber irgendwie will da nicht so richtig klappen. Danke für jeden hlfreichen Hinweis. Gruß Andreas Link to comment Share on other sites More sharing options...
allstats.de Posted August 7, 2008 Report Share Posted August 7, 2008 Genau das wollte ich auch gerade machen. Nur weiss ich leider auch net wie. Link to comment Share on other sites More sharing options...
allstats.de Posted December 2, 2008 Report Share Posted December 2, 2008 Gibt es denn jemanden, der das weiß? Link to comment Share on other sites More sharing options...
holgerling Posted August 17, 2009 Report Share Posted August 17, 2009 Hallo, kurz was zum Problem, welches mich nun schon etwas länger ärgerlicherweise beschäftigte: ich stelle gerade einen Shop für ein Einzelhandelsunternehmen auf, im Bereich Arbeitsschutz und Berufsbekleidung. Hierbei handelt es sich um einen Shop mit direkter Anbindung an Lexware (Financial Office Pro) durch die Schnittstelle LexShopXTC. Das Ziel ist es (natürlich) den Umgang mit Shop, ERP und Schnittstelle so einfach wie möglich zu realisieren, da die jetzigen Mitarbeiter mit dem System einwandfrei und vorallem reibungsfrei arbeiten können. Bei den Anforderungen an das Shop System kam die Möglichkeit von Übergrößen-Aufschlägen hinzu. So dass einige Artikel bei verschiedenen Größen einen festen Übergrößenzuschlag erhalten (z.B. 5%). Damit dies nicht alles per Hand nach erfolgreichem Import aus Lexware heraus nachgearbeitet werden muss, muss es eine schnelle Möglichkeit geben, die Aufschläge-Attribute zu verteilen. Da i.d.R. die Übergrößen der meissten Artikel gleich sind (gleicher Aufschlag bei gleicher Größe) will ich das ganze über das vorhandene Artikelmerkmale Modul realiseren. So genug Vorgeschichte, ich denke, man weiss, was gemeint ist. Nach sehr langem Suchen und langsamen reinarbeiten in die XTC Thematik (wie funktioniert das eigendlich alles) habe ich folgenden Post gefunden, welcher sehr hilfreich war und für den ich mich an dieser Stelle nochmal bedanken muss. DANKE beo6! http://www.xt-commerce.com/forum/admininterface/61882-attribut-page-ranking-fix-statt-und.html#post298699 Ich werde nun die Änderungen zeigen, die ich vorgenommen habe. Das ganze ist noch nicht 100% ausgereift, jedoch funktioniert es soweit, dass der Shop demnächst online gehen kann. Für Verbesserungen bin ich natuerlich offen (da meine praktischen PHP-Einsätze nun doch schon ein wenig her sind..) Folgende Dateien müssen angepasst werden: > /includes/classes/xtcPrice.php Die Anweisungen: if ($attribute_price_data['price_prefix'] == '+') { $price = $price - $price / 100 * $discount; } else { $price *= -1; }[/PHP] habe ich wie folgt geändert: [PHP] if ($attribute_price_data['price_prefix'] == '+') { $product_query = xtc_db_query("select products_id, products_price, products_discount_allowed, products_tax_class_id, products_weight from ".TABLE_PRODUCTS." where products_id='".$pID."'"); if ($product = xtc_db_fetch_array($product_query)) { $products_price = $this->xtcGetPrice($product['products_id'], $format = false, $qty, $product['products_tax_class_id'], $product['products_price']); $price = $price / 1.19; $price = $products_price / 100 * $price; } } else { $price *= -1; }[/PHP] Den Preis aus der Datenbank für das Produkt holen, die MwSt, welche auf den Prozenten liegt, einfach runterrechnen und den richtigen Betrag ausrechnen. > /includes/modules/product_attributes.php Die SQL Abfrage wie folgend bearbeiten: [PHP] $products_options_query = xtDBquery("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, p.products_price from ".TABLE_PRODUCTS_ATTRIBUTES." pa, ".TABLE_PRODUCTS_OPTIONS_VALUES." pov, ".TABLE_PRODUCTS." p where pa.products_id = '".$product->data['products_id']."' and p.products_id = '".$product->data['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"); [/PHP] hinzugefügt wurden der Preisabgleich in den Datenbanken mit folgenden Anweisungen: [code]p.products_price[/CODE] [CODE]".TABLE_PRODUCTS." p[/code] [CODE]and p.products_id = '".$product->data['products_id']."'[/code] Weiterhin folgende Zeile ändern: [PHP]$price = $xtPrice->xtcFormat($products_options['options_values_price'], false, $product->data['products_tax_class_id']); [/PHP] wie folgt ersetzen: [PHP] $price = $xtPrice->xtcFormat($products_options['options_values_price'], false); $price = $products_price / 100 * $price; [/PHP] Das habe ich gemacht, weil ich den Preis zuordnen kann, um eine Richtige Anzeige bei der Produkt Info Seite zu erhalten, da dort sonst nur die Prozente + MwSt stehen. So steht nun der Aufschlag als Betrag incl. MwSt drin. Da für den Shop, welchen ich einrichte, die normalen Aufpreise keine Rolle spielen, wurde am Prefix selbst nichts geändert. So dass man nun bei den Merkmalen die Prozente zuweisen kann. Evtl werde ich mir das später nochmal genauer anschauen und verbessern. Achja, XTC 3.0.4 SP 2.1 ist im Einsatz. Gruß Link to comment Share on other sites More sharing options...
amiarts Posted January 27, 2010 Report Share Posted January 27, 2010 Vielen Dank für die super Anleitung. Funktioniert einwandfrei. Ich habe allerdings noch ein weiteres Problem. Im Moment werden die Prozente über den Grundpreis gerechnet. Gibt es auch eine Möglichkeit, verschiedene Attribute miteinander zu multiplizieren? Ich baue gerade an einem Bilderrahmenshop und dort gibt es mehrere Attribute, die verknüpft werden müssen. Als erstes gibt es einen prozentualen Aufpreis für die jeweilige Größe, was ja so schon geht. Wenn ich jetzt aber noch verschiedene Glassorten dazu nehme, dann sollte der Aufschlag ja nicht nur vom Grundpreis sondern im Zusammenhang mit dem Größenaufschlag berechnet werden. Beispiel: Grundpreis 7x10 Rahmen leer ohne Rückwand und Glas = 10€ Aufschlag zu 10x15 = 20% Aufschlag Rückwand + Normalglas = 100% ergibt also im Moment (10€ + 120%) : 10€ * 2,2 = 22€ Ich möchte aber die Berechnung wie folgt: (10€ + 20%) + 100% : 10€ *1,2 * 2 = 24€ Geht sowas überhaupt? Danke im Voraus. Gruss René Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.