{{vtScript}} ### Stellt im Kontext einer image-Seite eine Liste der kaufbaren Produkte zusammen ### In "ProductList" wird die Liste, in "ProductCount" die Anzahl gespeichert {{vtInclude: includes/get_payment_methods.html}} {{vtInclude: includes/deliverymethods.html }} {{vtFunction: getProduct }} ### liefert (falls verfügbar) Produktdatensatz im Kontext eines bestimmten Bildes zurück ### Argumente: ### ProductFolderId = ID der Produkt-Containerseite ### ImageId = ID des Bildes ### ImageFolder = relatives Verzeichnis des Bilderordners ### ImageFilename = Name des Bildes {{vtIf: {vtPageType} .neq. product .or. {vtContainerId} .neq. {vtArg:ProductFolderId} }} {{vtReturn}} {{vtEndIf}} {{vtIf: {Preis|num} .gt. 0 .and. {vtGet:Bezahlmethoden} .eq. .and. {vtGet:DeliveryPayment} .neq. 1 }} {{vtReturn}} {{vtEndIf}} {{vtIf: {Benutzer} .neq. .and. {Benutzer} .neq. guest .and. {vtUser:groups} .ncn. {Benutzer} .and. {vtUser:admin} .neq. 1 }} {{vtReturn}} {{vtEndIf}} {{vtIf: {Benutzer} .eq. guest .and. {vtUser:name} .neq. .and. {vtUser:admin} .neq. 1 }} {{vtReturn}} {{vtEndIf}} {{vtSet: isAvailable = "1" }} {{vtIf: {Kennung} .neq. }} {{vtSet: isAvailable = "" }} {{vtIf: {Kennung} .eq. * }} {{vtSet: Kennung = "" }} {{vtElse}} {{vtSet: Kennung = "{Kennung:raw}" }} {{vtEndIf}} {{vtCalc: getFileList( '{vtGlobal:pxtcPathHires}/{vtArg:ImageFolder}/{vtGet:Kennung}', '^' . preg_quote( substr( '{vtArg:ImageFilename}', 0, strpos( '{vtArg:ImageFilename}', '.' ) ) ) . '\..+' ) }} {{vtIf: {vtResult} .neq. -1 }} {{vtRepeat: {vtResult} }} {{vtSet: isAvailable = "1" }} {{vtExit}} {{vtEndRepeat}} {{vtEndIf}} {{vtEndIf}} {{vtIf: {vtGet:isAvailable} .neq. 1 }} {{vtReturn}} {{vtEndIf}} {{vtSet: Prod = "" }} {{vtSet: Prod[id] = "{vtID}" }} {{vtSet: Prod[name] = "{Bezeichnung:raw}" }} {{vtSet: Prod[name_en] = "{Bezeichnung_en:raw}" }} {{vtSet: Prod[type] = "{Typ}" }} {{vtSet: Prod[description] = "{Beschreibung:raw}" }} {{vtIf: {Preisanpassung} .eq. 1 .and. {vtUser:Preisfaktor} .gt. 0}} {{vtCalc: {Preis} * {vtUser:Preisfaktor|num:2.} }} {{vtSet: Prod[price] = "{vtResult}" }} {{vtElse}} {{vtSet: Prod[price] = "{Preis}" }} {{vtEndIf}} {{vtCalc: get_cart_price( {vtId} ) }} {{vtIf: {vtResult} .neq. }} {{vtSet: Prod[price] = "{vtResult}" }} {{vtEndIf}} {{vtCalc: get_cart_quantity( {vtArg:ImageId}, {vtID} ) }} {{vtSet: Prod[quantity] = "{vtResult}" }} {{vtReturn: {vtGet:Prod} }} {{vtEndFunction}} ############################################### {{vtSet: Produkte = "{Produkte}"}} {{vtSet: Folder = "{Verzeichnis}" }} {{vtSet: Filename = "{Dateiname}" }} {{vtSet: ProductList = "" }} {{vtSet: ProductCount = "0" }} {{vtSet: ImageId = "{vtId}" }} {{vtIf: {Sortiment} .gt. 0 }} {{vtSet: Sortiment = "{Sortiment}" }} {{vtElseIf: {Sortiment} .neq. -1 }} {{vtUse: .. }} {{vtSet: Sortiment = "{Sortiment}" }} {{vtIf: {Sortiment} .eq. 0 .or. {Sortiment} .eq.}} {{vtSet: Produkte = "{vtGet:Produkte} {Produkte}" }} {{vtEndIf}} {{vtEndUse}} {{vtEndIf}} {{vtRepeat: {vtGet:DeliveryMethods} }} {{vtIf: {vtItem:barzahlung} .eq. 1 }} {{vtSet: DeliveryPayment = "1" }} {{vtExit}} {{vtEndIf}} {{vtEndRepeat}} {{vtIf: {vtGet:Sortiment} .gt. 0 }} {{vtUse: {vtGet:Sortiment} }} {{vtRepeat: {Liste} }} {{vtIf: {vtItem:text} .neq. }} {{vtSet: Prod = "" }} {{vtSet: Prod[id] = "0" }} {{vtSet: Prod[name] = "{vtItem:text}" }} {{vtSet: Prod[name_en] = "{vtItem:text_en}" }} {{vtSet: Assortment[] = "{vtGet:Prod}" }} {{vtElseIf: {vtItem:product_id} .gt. 0 }} {{vtUse: {vtItem:product_id} }} {{vtCall: -name="getProduct", ImageId = "{vtGet:ImageId}", ProductFolderId = "{vtGet:ID_Produkte}", ImageFolder = "{vtGet:Folder}", ImageFilename = "{vtGet:Filename}" }} {{vtIf: {vtResult} .neq. }} {{vtSet: ProductIds = "{vtGet:ProductIds}|{vtId}" }} {{vtSet: Assortment[] = "{vtResult}" }} {{vtEndIf}} {{vtEndUse}} {{vtEndIf}} {{vtEndRepeat}} {{vtEndUse}} {{vtEndIf}} {{vtAsAdmin}} {{vtSelect: -origin="{vtGet:ID_Produkte}", -type="product", -filter="{Zuordnung} .eq. 1", -sortfield="vtSortValue" }} {{vtLoop}} {{vtSet: Produkte = "{vtGet:Produkte} {vtId}" }} {{vtEndLoop}} {{vtEndSelect}} {{vtEndAsAdmin}} {{vtRepeat: {vtGet:Produkte} }} {{vtIf: {vtItem} .gt. 0 .and. {vtItem} .nin. {vtGet:ProductIds} }} {{vtUse: {vtItem} }} {{vtCall: -name="getProduct", ImageId = "{vtGet:ImageId}", ProductFolderId = "{vtGet:ID_Produkte}", ImageFolder = "{vtGet:Folder}", ImageFilename = "{vtGet:Filename}" }} {{vtIf: {vtResult} .neq. }} {{vtSet: ProductIds = "{vtGet:ProductIds}|{vtId}" }} {{vtSet: ProductList[] = "{vtResult}" }} {{vtCalc: {vtGet:ProductCount} + 1 }} {{vtSet: ProductCount }} {{vtEndIf}} {{vtEndUse}} {{vtEndIf}} {{vtEndRepeat}} {{vtRepeat: {vtGet:Assortment} }} {{vtSet: ProductList[] = "{vtItem}" }} {{vtCalc: {vtGet:ProductCount} + 1 }} {{vtSet: ProductCount }} {{vtEndRepeat}} {{vtEndScript}}