Versandkosten Modul, irgendwas passt hier nicht.

Bin langsam am verzweifeln! Erklärung: In unserem Shop gibt es Waren, die per DHL verschickt werden sollen. Nach Deutschland versandkostenfrei. EU-Ausland 14,00 EUR pauschal. Dann gibt es Ware, die per Spedition verschickt werden soll. Versandkosten werden nach Gewicht ermittelt. EU-Ausland soll komplett ausgeschlossen sein. Um zu unterscheiden, ob ein Artikel per Spedition verschickt wird, habe ich in den Artikeldetails ein Freitext-Feld definiert. (Grundeinstellungen -> Artikel -> Artikel-Freitextfelder). Das sieht dann so aus: Name: attr8 Feldtyp: Checkbox Feldbezeichnung: Speditionsversand Unter Grundeinstellungen -> Storefront -> Versandkosten-Modul habe ich folgendes hinzugegügt: MAX(at.attr8=1) as has_attribut Bestellungen bei keiner verfügbaren Versandart blockieren Ich habe mir dann 3 Versandarten angelegt: Inlandsversand DHL Inlandsversand Spedition Auslandsversand DHL Alle versandkostenfreien Artikel sind als versandkostenfrei in den Artikeldetails definiert. Die Einstellungen bei den Versandarten im Einzelnen: Inlandsversand DHL: - Länderauswahl DE - Zahlart Nachnahme, Vorkasse, Paypal - Erweiterte Einstellungen: - Versandkostenfreie Artikel: Unterstützen - Versandkostenberechnung nach: Gewicht - Eigene Bedingungen: !has_attribut Inlandsversand Spedition: - Versandksoten nach Gewicht gestaffelt - Länderauswahl DE - Zahlart Vorkasse, Paypal - Erweiterte Einstellungen: - Versandkostenfreie Artikel: Unterstützen, aber Versandkosten trotzdem berechnen - Versandkostenberechnung nach: Gewicht - Eigene Bedingungen: has_attribut Auslandsversand DHL: - Versandksoten nach Gewicht: 0 bis beliebig = 14,00 EUR - Länderauswahl alle EU-Länder, ausser DE - Zahlart Vorkasse, Paypal - Erweiterte Einstellungen: - Versandkostenfreie Artikel: Unterstützen, aber Versandkosten trotzdem berechnen - Versandkostenberechnung nach: Gewicht - Eigene Bedingungen: !has_attribut Was alles NICHT funktioniert: - Liegt ein Artikel im Warenkorb, der per Freitext-Feld “Speditionsversand” (attr8) als Speditionsversand markiert ist: 1.) kann ich bei Auswahl eines Landes ausserhalb DE trotzdem bestellen (obwohl das nicht möglich sein sollte). Versandart ist dann “Auslandsversand DHL”. 2.) Lieferland Deutschland: es ist keine Versandart ausgewählt/ sichtbar, aber die Versandkosten sind 0,00 EUR. Der Artikel ist nicht als Versandkostenfrei markiert. Die Versandkosten sollten per Inlandsversand Spedition: , nach gewicht, berechnet werden. Das passiert nicht. 3.) Lege ich einen Artikel einzeln in den Warenkorb, der als Versandkostenfrei markiert ist, ist auch hier die Versandart leer (bei Lieferland Deutschland). Versandkosten 0,00 EUR. Beim Ausland passt es wieder. So, ich weiß nicht mehr weiter. Offensichtlich greift die Abfrage nicht. Könnt ihr mir weiterhelfen? Vielen Dank, Tom

Hey, bitte definiere einmal diese Bedingung in den Grundeinstellungen: MAX(at.attr8=„true“) as has_attribut In der Datenbank wird nämlich ein true gesetzt bei aktivierter Checkbox in Shopware 4. Danach einmal den Cache für Template und Kategorien leeren und dann müsste das schon alles viel besser aussehen. Bei mir wird auch auf der Kassenseite dann z.B. die Bestellung geblockt, ich kann einen Artikel bzw. eine Kombination, die nicht matcht, auch nicht bestellen. Stefan

@Stefan Heyne Danke für den entscheidenden Hinweis. Allerdings musste ich MAX(at.attr8=true) as has_attribut (ohne " ") schreiben. Scheint wirklich daran zu leigen. :-/ Aber noch ein kleines Problem: Wähle ich einen Artikel für den Speditionsversand und als Lieferland Deutschland, dann kann ich trotzdem Nachnahme auswählen, obwohl nicht bei der Versandart hinterlegt! Wenn ich jetzt Nachnahme wähle, dann verschwindet die Versandart (es ist auch keine wählbar), aber ich kann trotzdem den Button Zur Kasse gehen auswählen. Das ist ziemlich doof und für den Kunden sicher verwirrend. Das war in der Version 3.5 noch anders (glaub ich). Gibt es da eine elegantere Lösung? Oder kann man wenigstens einen Hinweis dazu ausgen? “Diese Zahlungsart / Versandart steht nicht zur Verfügung.” Danke für die Hilfe!

Hi, das Versandkostenmodul blendet ja generell keine Zahlungsarten aus… Vielleicht kannst Du da mit zusätzlichen Riskmanagement Regeln arbeiten, um Zahlungsarten auszublenden. Das mal als Tipp. Die Funktionsweise ist 1zu1 wie in 3.5. Blockiert wird eine Bestellung erst auf der Kassenseite. Den Hinweis dort “keine Versandart” kannst Du aber in den Textbausteinen anpassen.

Hallo Stefan, danke für Deine Hilfe. [quote]Die Funktionsweise ist 1zu1 wie in 3.5.[/quote] Stimmt, ich hatte vergessen, dass ich hier Änderungen vorgenommen hatte, wie hier von klausm beschrieben: post18618.html?hilit=versand%20nur%20bestimmtes%20land#p18618 1. frontend/checkout/shipping_cost.tpl [code]{* Dispatch method *} {block name=‘frontend_checkout_shipping_costs_dispatch’}

{se name=“ShipppingLabelDispatch”}{/se}

{if $sDispatches} {foreach from=$sDispatches item=dispatch}
{$dispatch.name}
{/foreach} {else}

Kein Versand möglich !

Maximales Versand- gewicht überschritten oder Produkt wird nicht an dieses Land geliefert.

Bitte fordern Sie ein Angebot an.

Angebot anfordern
{/if}
{/block}[/code] 2. frontend/checkout/confirm_dispatch.tpl ganz am Ende … genau nach das einfügen: [code]{else}

Kein Versand möglich !

Maximales Versandgewicht überschritten oder Produkt wird nicht an dieses Land geliefert.

Bitte fordern Sie ein Angebot an.

Angebot anfordern
[/code] ergibt dann: und wenn Kunde angemeldet ist:

Leider bekomme ich diese Lösung nicht mit der 4.0.2 umgesetzt. Testhalber die Änderungen in templates/_emotion/frontend/checkout/shipping_cost.tpl vorgenommen. Cache geleert, aber kein Effekt sichtbar. Änderungen in templates/_default/frontend/checkout/shipping_cost.tpl funktioniert zwar, basiert aber auf dem alten Template und werfen das Design durcheinander. Wie kann ich die oben beschriebene Lösung beim emotion-Template anwenden? Bin für Hinweise dankbar, da diese Lösung, wenn auch nicht die eleganteste, eine gute Orientierung für den Kunden bietet. Vielen Dank P.S. Habe jetzt mit Riskmanagement-Regeln einige Zahlarten eleminiert. :slight_smile: Leider geht es nicht, dass ich alle Zahlarten für z.B. Speditionsversand -> EU-Ausland sperre. Es muss mindestens eine Zahlart verfügbar sein, da es sonst zu einer Fehlermeldung kommt. Somit bleibt mein Wunsch bestehen, die hier oben angesprochene Lösung umzusetzen. Vielleicht hat ja jemand einen Tipp für mich.