xtc.sanchez Posted May 20, 2008 Report Share Posted May 20, 2008 Hallo, wie kann ich beim Präfix der Artikelmerkmale (Attribute) ein "=" hinbekommen, so, dass nicht hinzuaddiert oder subtrahiert wird, sondern ein fester Preis eingetragen ist? lg, sanchez Link to comment Share on other sites More sharing options...
loeweh Posted May 28, 2008 Report Share Posted May 28, 2008 hast du schon eine lösung gefunden?? Link to comment Share on other sites More sharing options...
beo6 Posted June 13, 2008 Report Share Posted June 13, 2008 das ganze geht wie folgt: in "/admin/includes/modules/new_attributes_functions.php" füge ein in funktion "checkAttribute": global $attribute_value_price,$sortorder, $attribute_value_weight, $attribute_value_weight_prefix, $attribute_value_prefix, $attribute_value_model, $attribute_value_stock, $posCheck, $negCheck,[/PHP] diese Variable: [PHP], $isCheck[/PHP] ersetze: [PHP]if ($attribute_value_prefix == '+') { $posCheck = ' SELECTED'; $negCheck = ''; } else { $posCheck = ''; $negCheck = ' SELECTED'; } if ($attribute_value_weight_prefix == '+') { $posCheck_weight = ' SELECTED'; $negCheck_weight = ''; } else { $posCheck_weight = ''; $negCheck_weight = ' SELECTED'; }[/PHP] mit: [PHP]if ($attribute_value_prefix == '+') { $posCheck = ' SELECTED'; $negCheck = ''; $isCheck = ''; } elseif($attribute_value_prefix == '-') { $posCheck = ''; $negCheck = ' SELECTED'; $isCheck = ''; } elseif ($attribute_value_prefix == '=') { $posCheck = ''; $negCheck = ''; $isCheck = ' SELECTED'; }[/PHP] füge ein am ende von: [PHP]} else { $attribute_value_price = ''; $sortorder = ''; $attribute_value_weight = ''; $attribute_value_prefix = ''; $attribute_value_weight_prefix = ''; $attribute_value_model = ''; $attribute_value_stock = ''; $posCheck = ''; $negCheck = '';[/PHP] [PHP]$isCheck = '';[/PHP] in "/admin/includes/modules/new_attributes_include.php" Zeile 112 ändern in: [PHP]echo "<TD class=\"main\" align=\"left\"><SELECT name=\"" . $current_value_id . "_prefix\"> <OPTION value=\"+\"" . $posCheck . ">+<OPTION value=\"-\"" . $negCheck . ">-<OPTION value=\"=\"" . $isCheck . ">=</SELECT></TD>";[/PHP] ändern in "/includes/classes/xtcPrice.php" in funktion "xtcGetOptionPrice" dies: [PHP]if ($attribute_price_data['weight_prefix'] != '+') $attribute_price_data['options_values_weight'] *= -1; if ($attribute_price_data['price_prefix'] == '+') { $price = $price - $price / 100 * $discount; } else { $price *= -1; }[/PHP] in folgendes: [PHP]if ($attribute_price_data['price_prefix'] == '+') { $price = $price - $price / 100 * $discount; } if ($attribute_price_data['price_prefix'] == '-') { $price *= -1; } if ($attribute_price_data['price_prefix'] == '=') { if($this->xtcCheckSpecial($pID)) { $price_special = $this->xtcFormat($this->xtcCheckSpecial($pID), false, $attribute_price_data['products_tax_class_id']); $price = ($price_special*-1) + $price; } else { // products_price Abfrage $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 = ($products_price*-1) + $price; } } } [/PHP] Ich hoffe das ist alles so richtig. Link to comment Share on other sites More sharing options...
arnie83 Posted June 15, 2008 Report Share Posted June 15, 2008 Hallo, das mit dem Präfix hat soweit super funktioniert. Ich habe jetzt das Problem das ich überall stehen habe "ab 0,00 EUR" was ja nicht stimmt. Er müsste mir hier den niedristen staffelpreis ausgeben. Macht er aber nicht. HILFE..... Link to comment Share on other sites More sharing options...
beo6 Posted June 15, 2008 Report Share Posted June 15, 2008 Und wenn du den niedrigsten einfach normal als Artikelpreis angibst? Link to comment Share on other sites More sharing options...
guru-berlin Posted June 16, 2008 Report Share Posted June 16, 2008 Hallo Ich habe die Zeilen ausgetauscht, es funktioniert alles wunderbar, leider wird der Attributpreis nicht Rabattiert, wenn ein Rabatt vorhanden ist. Ich habe mir die Formel angesehen, da ist auch keine $discount Variable drin ?? $price = ($products_price*-1) + $price; habe versucht diesen dort zu integrieren, leider kam nur Kauderwelsch raus. Für eine kleine Abänderung incl. Rabatt wäre ich dankbar. M.f.G. Harald Link to comment Share on other sites More sharing options...
beo6 Posted June 16, 2008 Report Share Posted June 16, 2008 Wie hast du sie denn eingebaut, und in wiefern kam kauderwelsch dabei raus? Schreib hier vielleicht mal deine Änderung rein. g Link to comment Share on other sites More sharing options...
guru-berlin Posted June 17, 2008 Report Share Posted June 17, 2008 so, die Logik von der Function xtcGetOptionPrice habe ich jetzt verstanden, sie liefert den Aufschlag zurück. dieser wird in der "=" variante aus (Hauptpreis*-1) + Attributpreis berechnet bei der "+" variante wird mit der Formel $price = $price - $price / 100 * $discount[/PHP]; der Aufschlag incl. Rabatt berechnet Dementsprechend müßte bei der "=" Variante die Formel [PHP]$price = ($products_price*-1 + $price) -(($products_price*-1 + $price) /100 * $discount);[/PHP] lauten um den Aufschlag mit Rabatt zu berechnen.. aber leider funktioniert es nicht so richtig damit der rabattie Attributpreis auf der Artikelseite angezeigt wird habe ich in includes/modules/product_attributes.php den code um folgendes erweitert [code] if ($_SESSION['customers_status']['customers_status_discount_attributes'] == 1 && $products_options['price_prefix'] == '=') $price -= $price / 100 * $discount ; $attr_price=$price; [/code] das funktioniert wunderbar, aber leider wird der Warenkorb nicht richtig berechnet. Hat jemand einen Verbesserungsvorschlag ? Gruss Harald Link to comment Share on other sites More sharing options...
arnie83 Posted June 18, 2008 Report Share Posted June 18, 2008 Wenn ich den Normalen Preis angebe dann steht wie es eigentlich auch sein soll Ab xx€ drin. Wenn man aber auf Kasse geht zählt er einfach den Ab Preis zu den Päfix = Kosten dazu. D.h. Ab 10,00€ Päfix 1000 = 100€ Die KAsse gibt 110.-€ aus. Diese soll aber nur den Präfixpreis nehmen also die 100€. Hoffe jemand kann mir helfen. Ich verzeifel hier bald gleich mit dem Shop!!!! Danke! Link to comment Share on other sites More sharing options...
beo6 Posted June 18, 2008 Report Share Posted June 18, 2008 Zu dem Warenkorb problem kann ich jetzt leider auch nichts sagen. Dafür müsste ich mir den Code etwas näher im Detail anschauen. Das Addieren des Artikelpreis mit dem Präfix-Preis ist seltsam, da es bei dem Shop für den ich entwickelt habe das ganze funktioniert hat. Vielleicht ein kleiner Fehler eingeschlichen beim einsetzen der PHP-Code änderungen? Wie gesagt. Kann auch sein das ich mich an einer kleinen Stelle vertan habe. Link to comment Share on other sites More sharing options...
blue thunder Posted February 12, 2009 Report Share Posted February 12, 2009 Genau dies ist auch mein Problem gewesen. Hier die Lösung Ersetzt einfach den Code {if $item_data.PRICE}{$item_data.PREFIX}{$item_data.PRICE}{/if} durch den folgenden. {if $item_data.PRICE}{*$item_data.PREFIX*}{$item_data.FULL_PRICE}{/if}[/code] in templates/DEIN_TEMPLATE/module/product_options/ Dankt nicht mir, sondern Walter Gruß Blue Thunder Link to comment Share on other sites More sharing options...
admin24 Posted June 24, 2009 Report Share Posted June 24, 2009 Hallo Ich hatte die änderungen wie auf der 1 seite beschrieben befolgt. Das '=' wird auch angezeigt und kann es auch auswählen. Leider zeigt er bei den Produkoptionen nicht den Preis an den ich bei der Attributverwaltung eingegeben habe sondern subtrahiert ihn vom Artikel. Kann mir da jmd weiterhelfen? Danke im Voraus Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.