Jump to content
xt:Commerce Community Forum

Grundpreisangabe v2


sff

Recommended Posts

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

  • 4 months later...

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

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

Nun, es handelt sich hier ja nur um eine Bastel-Lösung für juristische Notfälle :cool:

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

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 :rolleyes:

Link to comment
Share on other sites

Archived

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

×
  • Create New...