sff Posted April 12, 2006 Report Share Posted April 12, 2006 Alle die noch die v2 im Einsatz haben und Produkte verkaufen, welche der Pflicht zur Grundpreisauszeichnung unterliegen, sollte nat?rlich am besten auf die neuste xtc-Version umsteigen, um Abmahnungen und/oder Gerichtsverfahren aus dem Weg zu gehen. Wer f?r das Update aber gerade keine Zeit/Lust/Geld/Knowhow/Mut/... hat, kann sich u.U. mit folgender Frickell?sung vorl?ufig behelfen. In diesem Beispiel gehe ich davon aus, dass ausschlie?lich Produkte nach "ml" verkauft werden, wobei die Packungsgr??e entweder in den Optionswerten, im der Artikelbeschreibung oder im Produktnamen auftaucht. Es handelt sich ausdr?cklich um eine Bastell?sung, denn es wird einfach nach dem Vorkommen von "[Zahl][ggf. Leerzeichen]ml" gesucht und dann auf die Einheit 100ml umgerechnet. Wer andere Einheiten verwendet, kann das Beispiel nat?rlich entsprechend ab?ndern... Au?erdem habe ich der Einfachheit halber das Wort "Grundpreis" direkt in das Template geschrieben, anstatt es in die language-Files auszulagern. Wer einen mehrsprachigen Shop hat, m?sste das nat?rlich noch anpassen. includes/modules/products_attributes.php: zwischen $price = ... und $products_options_data[$row]['DATA'][$col]=array( ... folgendes einf?gen: // XTC-DELUXE.DE VPE v2 if (preg_match('/(\d+)(-|\s)*(ml)/i',$products_options['products_options_values_name'],$vpe) > 0) { if ($vpe[1] != 100) { $vpe_value = xtc_format_price(($price/$vpe[1]*100), $price_special=0, $calculate_currencies=false, 1).' '.$_SESSION['currency'].'/ 100'.$vpe[3]; } } // XTC-DELUXE.DE VPE v2 END dann zwischen 'PRICE' =>$price." ".$_SESSION['currency'], und 'PREFIX' =>$products_options['price_prefix']); folgendes einsetzen: // XTC-DELUXE.DE VPE v2VPE 'VPE' => $vpe_value, // XTC-DELUXE.DE VPE v2 END includes/modules/product_info.php zwischen include(DIR_WS_MODULES . 'product_attributes.php'); und include(DIR_WS_MODULES . 'product_reviews.php'); geh?rt folgendes: // XTC-DELUXE.DE VPE v2 if (empty($vpe)) { if (preg_match('/(\d+)(-|\s)*(ml)/i',$product_info['products_description'],$vpe) > 0 || preg_match('/(\d+)(-|\s)*(ml)/i',$product_info['products_name'],$vpe) > 0 ) { if ($vpe[1] != 100) $info_smarty->assign('VPE',(xtc_format_price(($products_price/$vpe[1]*100), $price_special=0, $calculate_currencies=false, 1).' '.$_SESSION['currency'].'/ 100'.$vpe[3])); } } // XTC-DELUXE.DE VPE v2 END Nun haben wir den Grundpreis in Smarty-Variablen gepackt und m?ssen diese nur noch ausgeben. templates/../module/product_info/product_info_v1.html {if $VPE!=''}<div class="price_disclaimer" align="right"><b>(Grundpreis: {$VPE})</b></div>{/if} (Ich habe dem Grundpreis hier noch eine Klasse verpasst, um die Darstellung entsprechend anpassen zu k?nnen...) templates/../module/product_options/product_options_dropdown.html (oder welche ihr verwendet) {if $item_data.VPE!=''} (Grundpreis: {$item_data.VPE}){/if} (hinter den anderen Smarty-Variablen, wie {$item_data.PRICE} usw...) Um noch andere Einheiten umzurechnen, muss das Suchmuster entsprechend erweitert werden, also f?r die zus?tzliche Einheit kg z.B.: /(\d+)(-|\s)*(ml|kg)/i (man k?nnte diesen String nat?rlich auch in eine Variable packen, so dass man ihn nicht an 3 Stellen ?ndern muss... f?llt mir gerade auf... anyway;-) Link to comment Share on other sites More sharing options...
m&d Posted August 22, 2006 Report Share Posted August 22, 2006 Hallo. Schöne Sache, habs in Benutzung und alles funktioniert bestens. Habs ein wenig umgebaut, sodaß ich L als Grundpreis angeben kann. Leider funktioniert es nur bei Aufruf der einzelnen Artikel. In der Produktliste die nach Aufruf der Kategorie erscheint taucht die Grundpreisangabe nicht auf. Habs auch in der produktlisting in meinem Template eingetragen und alles andere auch wie es beschrieben ist. Laut Beschreibung muß man ja nicht in der produkt_listing.php in includes/module eintragen. Nehme an, daß dort der Fehler liegt. Hab auch schon probiert die entsprechenden Zeilen dort einzufügen. Wahrscheinlich aber an der falschen Stelle. Wäre schön wenn mir das nochmal jemand sagen könnte wo die Zeilen: // XTC-DELUXE.DE VPE v2 if (preg_match('/(\d+)(-|\s)*(ml)/i',$products_options['products_options_values_name'],$vpe) > 0) { if ($vpe[1] != 100) { $vpe_value = xtc_format_price(($price/$vpe[1]*100), $price_special=0, $calculate_currencies=false, 1).' '.$_SESSION['currency'].'/ 100'.$vpe[3]; } } // XTC-DELUXE.DE VPE v2 END in der produkt_listing.php reingehören Link to comment Share on other sites More sharing options...
m&d Posted August 25, 2006 Report Share Posted August 25, 2006 Hallo. Muß ich vieleicht nichts in der produkt_listing.php ändern? Muß ich woanders noch was ändern? Gehts überhaupt in der v2er die Grundpreisangabe im Produktlisting bzw. bei den neuen Produkten in der Übersicht mit anzeigen zu lassen? Link to comment Share on other sites More sharing options...
sff Posted August 25, 2006 Author Report Share Posted August 25, 2006 Nun, es handelt sich hier ja nur um eine Bastel-Lösung für juristische Notfälle Ich würde sagen, bis zum Update reicht die Grundpreisangabe auf der Detailseite... (Falls du eine Mengenangabe im Produktnamen hast, würde ich die evtl. rausnehmen...) Link to comment Share on other sites More sharing options...
sff Posted August 25, 2006 Author Report Share Posted August 25, 2006 Du hast ja auch den einzufügenden Code verändert... dort fehlt ein "assign" - vielleicht liegt's ja daran...?! Link to comment Share on other sites More sharing options...
m&d Posted August 25, 2006 Report Share Posted August 25, 2006 Hallo. Der Tipp mit der Mengenangabe ist ganz gut glaub ich. Habe jetzt nochmal einiges probiert, auch wegen dem fehlenden assign aber leider ohne Erfolg. Hab jetzt einige Tage an dem Problem gesessen und reicht nun hin. Muß ich halt warten und vorher nochmal Infos einholen. Trotzdem danke. PS: Hab das assign nicht weggemacht es war in dem Teil des Codes der in die produkt_attributes.php muß nicht drin Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.