{{vtScript}} ### Diese Funktion legt einen Artikel in den Warenkorb. ### PARAMETER: ### Image: ID des Bilder ### Product: ID des gewünschten Produkts ### Amount: Anzahl (optional) ### Mode: Verfahrensweise, wenn Artikel bereits vorhanden ( "add" [default], "omit", "replace" ) ### GLOBALE VARIABLEN: ### Cart: der aktuelle Warenkorb ### Language: die aktuelle Sprache {{vtFunction: add_to_cart}} {{vtUse: {vtArg:Image} }} {{vtSet: Dateiname="{Dateiname}"}} {{vtSet: Verzeichnis="{Verzeichnis}"}} {{vtEndUse}} {{vtIf: {vtGet:Dateiname} .eq. }} {{vtReturn}} {{vtEndIf}} {{vtUse: {vtArg:Product} }} {{vtIf: {vtGet:Language} .neq. de .and. {Bezeichnung_en} .neq.}} {{vtSet: Bezeichnung="{Bezeichnung_en:raw}"}} {{vtElse}} {{vtSet: Bezeichnung="{Bezeichnung:raw}"}} {{vtEndIf}} {{vtIf: {Preisanpassung} .eq. 1 .and. {vtUser:Preisfaktor} .gt. 0}} {{vtCalc: {Preis} * {vtUser:Preisfaktor|num:2.} }} {{vtSet: Preis}} {{vtElse}} {{vtSet: Preis="{Preis}"}} {{vtEndIf}} {{vtIf: {vtGlobal:pxtcVatHandling} .eq.}} {{vtSet: Preis_netto="{vtGet:Preis}"}} {{vtSet: Preis_brutto="{vtGet:Preis}"}} {{vtSet: Mehrwertsteuer="0"}} {{vtElse}} {{vtIf: {Steuersatz} .eq. 2}} {{vtSet: VatRate="{vtGlobal:pxtcVatRate2}"}} {{vtElse}} {{vtSet: VatRate="{vtGlobal:pxtcVatRate}"}} {{vtEndIf}} {{vtIf: {vtGlobal:pxtcVatHandling} .eq. excluded}} {{vtSet: Preis_netto="{vtGet:Preis}"}} {{vtCalc: round( {vtGet:Preis} * {vtGet:VatRate}/100, 2 ) }} {{vtSet: Mehrwertsteuer}} {{vtCalc: {vtGet:Preis_netto} + {vtGet:Mehrwertsteuer} }} {{vtSet: Preis_brutto}} {{vtElse}} {{vtSet: Preis_brutto="{vtGet:Preis}"}} {{vtCalc: round( {vtGet:Preis} / ( 1 + {vtGet:VatRate}/100 ), 2 ) }} {{vtSet: Preis_netto}} {{vtCalc: {vtGet:Preis_brutto} - {vtGet:Preis_netto} }} {{vtSet: Mehrwertsteuer}} {{vtEndIf}} {{vtEndIf}} {{vtSet: Kennung="{Kennung:raw}"}} {{vtIf: {Typ} .eq. Print}} {{vtSet: Typ="print"}} {{vtSet: pxprint_id="{pxprint_id}"}} {{vtElse}} {{vtSet: Typ="file"}} {{vtEndIf}} {{vtEndUse}} {{vtIf: {vtGet:Typ} .eq. }} {{vtReturn}} {{vtEndIf}} {{vtIf: {vtArg:Amount} .gt. 0 }} {{vtSet: Amount = "{vtArg:Amount}" }} {{vtElse}} {{vtSet: Amount = "1" }} {{vtEndIf}} {{vtCalc: evalList('{vtGet:Cart,escaped}','total','sum') }} {{vtSet: OldValue }} {{vtSet: NewCart="" }} {{vtSet: Processed=""}} {{vtRepeat: {vtGet:Cart,raw} }} {{vtIf: {vtItem:image} .neq. {vtArg:Image} .or. {vtItem:product} .neq. {vtArg:Product} }} {{vtSet: NewCart[]="{vtItem}" }} {{vtElseIf: {vtArg:Mode} .eq. omit }} {{vtSet: NewCart[]="{vtItem}" }} {{vtSet: Processed="1"}} {{vtElseIf: {vtArg:Mode} .neq. replace }} {{vtSet: Item="{vtItem}" }} {{vtIf: {vtGet:Typ} .eq. print }} {{vtCalc: {vtItem:quantity} + {vtGet:Amount} }} {{vtSet: Item[quantity]="{vtResult}"}} {{vtEndIf}} {{vtCalc: {vtItem:price} * {vtGet:Item[quantity]} }} {{vtSet: Item[total]="{vtResult}"}} {{vtCalc: {vtItem:netprice} * {vtGet:Item[quantity]} }} {{vtSet: Item[nettotal]="{vtResult}"}} {{vtSet: NewCart[]="{vtGet:Item}" }} {{vtSet: Processed="1"}} {{vtEndIf}} {{vtEndRepeat}} {{vtSet: Cart="{vtGet:NewCart,raw}"}} {{vtIf: {vtGet:Processed} .neq. 1 }} {{vtIf: {vtGet:Kennung} .neq.}} {{vtIf: {vtGet:Kennung} .eq. *}} {{vtSet: subfolder=""}} {{vtElse}} {{vtSet: subfolder="{vtGet:Kennung}/"}} {{vtEndIf}} {{vtCalc: getFileList( '{vtGlobal:pxtcPathHires}/{vtGet:Verzeichnis}/{vtGet:subfolder}', '^' . preg_quote( substr( '{vtGet:Dateiname}', 0, strpos( '{vtGet:Dateiname}', '.' ) ) ) . '\..+' ) }} {{vtRepeat:{vtResult} }} {{vtSet: hires_path="{vtGet:subfolder}{vtItem}"}} {{vtExit}} {{vtEndRepeat}} {{vtEndIf}} {{vtCalc: {vtGet:Amount}*{vtGet:Preis_brutto} }} {{vtSet: Gesamtpreis}} {{vtCalc: {vtGet:Amount}*{vtGet:Preis_netto} }} {{vtSet: Gesamtpreis_netto}} {{vtCalc: 1 + evalList( '{vtGet:Cart}', 'id', 'max' ) }}--> {{vtSet: CartItem[id]="{vtResult}" }} {{vtSet: CartItem[image]="{vtArg:Image}" }} {{vtSet: CartItem[product]="{vtArg:Product}" }} {{vtSet: CartItem[thumbnail]="{vtGet:Verzeichnis}/{vtGet:Dateiname}" }} {{vtSet: CartItem[filename]="{vtGet:Dateiname}" }} {{vtSet: CartItem[hires_path]="{vtGet:hires_path,raw}" }} {{vtSet: CartItem[folder]="{vtGet:Verzeichnis}" }} {{vtSet: CartItem[title]="{vtGet:Bezeichnung}" }} {{vtSet: CartItem[type]="{vtGet:Typ}" }} {{vtSet: CartItem[quantity]="{vtGet:Amount}" }} {{vtSet: CartItem[netprice]="{vtGet:Preis_netto}" }} {{vtSet: CartItem[vat]="{vtGet:Mehrwertsteuer}" }} {{vtSet: CartItem[price]="{vtGet:Preis_brutto}" }} {{vtSet: CartItem[total]="{vtGet:Gesamtpreis}" }} {{vtSet: CartItem[nettotal]="{vtGet:Gesamtpreis_netto}" }} {{vtSet: CartItem[vatrate]="{vtGet:VatRate}" }} {{vtSet: CartItem[pxprint_id]="{vtGet:pxprint_id}" }} {{vtSet: Cart[]="{vtGet:CartItem}"}} {{vtEndIf}} {{vtSet: CheckoutOkay="{vtSession:CheckoutOkay}" }} {{vtIf: {vtGet:Typ} .eq. print }} {{vtIf: {vtSession:Liefermethode} .eq.}} {{vtSet: CheckoutOkay = "" }} {{vtEndIf}} {{vtElseIf: {vtSession:Bezahlmethode} .eq. barzahlung }} {{vtSet: CheckoutOkay="" }} {{vtEndIf}} {{vtCalc: evalList('{vtGet:Cart}','total','sum') }} {{vtIf: {vtGet:OldValue} .eq. 0 .and. {vtResult} .gt. 0 }} {{vtSet: CheckoutOkay="" }} {{vtEndIf}} {{vtIf: {vtUser:id} .gt. 100 .and. {vtUser:accountType} .neq. 2 }} {{vtDo: -act="update", -obj="{vtUser:id}", Cart="{vtGet:Cart}"}} {{vtElse}} {{vtDo: -act="updateSession", Cart="{vtGet:Cart}" }} {{vtEndIf}} {{vtDo: -act="updateSession", CheckoutOkay="{vtGet:CheckoutOkay}", Currency="{vtGlobal:pxtcCurrency}", VatRate1="{vtGlobal:pxtcVatRate}", VatRate2="{vtGlobal:pxtcVatRate2}"}} {{vtReturn: {vtGet:Typ} }} {{vtEndFunction}} {{vtEndScript}}