Geoblocking war: Deadlock: Gastbestellung

@Moritz Naczenski schrieb:

Also die Plugin-Lösung ist quasi fertig. Es wird denke ich zeitnah in den nächsten Tagen in den Store kommen (natürlich kostenlos!).

 

Hallo Moritz,

ist das Plugin schon im Store? Leider finde ich nichts, nur das auf Github.

Grüße

Das würde mich auch mal interessieren, ob das Plug-In nun schon verfügbar ist. Ich finde es leider auch nicht. Wir benötigen das Plug-In auch, da wir die Version 5.2 momentan noch nutzen.

Am besten sollte es natürlich noch vor des In-Kraft-Tretens der Verordnung am 03.12. verfügbar sein. Wir kriegen hier so langsam Muffensausen…

Gruß, Irina

Das Plugin kommt vorr. heute am späten Nachmittag oder Montag in den Store. Wie beschrieben kommt das auf jeden Fall noch passend vor dem Start der Verordnung.

1 „Gefällt mir“

Super, vielen Dank für die schnelle Antwort!

Nur noch eine kurze Frage, weiß man schon, wie genau das Plug-In heißen wird? 

 

Jetzt ist es auch im Store: Lieferland Begrenzung | Versand | Integration | Erweiterungen | Shopware Community Store

2 „Gefällt mir“

Hallo Moritz,

habe das Plugin gerade geladen aber bei mir erscheint kein Freitextfeld bei Länder wo ich was anklicken könnte. Cache habe ich alle gelöscht.

Okidoki, gefunden! Das kleine Icon mit dem grünen Pluszeichen. Wer suchet der findet!  Grin

Vielen Dank für das Plug-In!

Ich habe es nun auch soweit installiert, alle 28 europäischen Länder der EU mit reingenommen und das Häkchen für das Lieferland nur bei Deutschland drin gelassen.

Bin jetzt dabei Testbestellungen durchzuführen, allerdings erhalte ich immer folgenden Fehlercode, wenn ich „zur Kasse“ gehe:

„503 Service Unavailable“

und zwar unabhängig davon, ob ich mich mit Deutschland oder einem anderen Land anmelde. 

Habe das Plug-In mal probeweise deaktiviert und der Fehler war direkt beseitigt. Nach dem erneuten aktivieren taucht der Fehler wieder auf.

Hat jemand vllt dasselbe Problem und kann mir helfen?

 

Vielen Dank schonmal! 

https://community.shopware.com/Fehlermeldungen-in-Shopware-debuggen_detail_1880.html#Frontend_Error_Reporter

Erstmal brauchen wir die Fehlermeldung 

Ich will auch Probleme / Bugs melden. Verwende Shopware 5.5.3 mit der Core-Lösung zum Geo-Blocking.

Problem Nummer 1: 

Ich habe alle EU-Länder aktiviert. Bei allen bis auf zwei habe ich “Als Lieferland zulassen” weggeklickt (kein Häkchen) und “als Lieferland ausblenden” angeklickt. 

Wenn man im Off-Canvas Warenkorb auf „Warenkorb bearbeiten“ klickt, dann unten auf Versandkosten -> Hier stehen trotzdem alle EU-Länder stehen zur Auswahl, es wird kein Land, das nicht beliefert wird, ausgeblendet. Klickt man eines dieser Länder an, kommt oben folgende Fehlermeldung: „Keine Versandart“ – hier sollte ebenfalls ein roter Hinweis erscheinen „Lieferung in dieses Land nicht möglich“ . Aber besser noch: alle nicht belieferten Länder können gar nicht erst ausgewählt werden!

Problem Nummer 2:

Das Plugin „DHL-Wunschpaket“ in der aktuellsten Version 1.4.7. zerstört die Funktion “Lieferländer ausblenden" bei der abweichenden Lieferadresse. Ich hab testweise das Plugin deaktiviert, dann alles hat funktioniert, es wurden nur die zur Lieferung freigegebenen Länder angezeigt (Problem 1 bleibt übrigens, trotz deaktiviertem Plugin, bestehen). Die Krux ist, das dadurch schnell ein Deadlock entsteht, denn der Kunde kann trotzdem z.B. „Lettland“ als Land auswählen, weiterklicken und wird erst im Checkout blockiert, da ja keine Versandart für Lettland zur Verfügung steht.

Ich werde das auch an DHL melden ( sollten bitte alle tun, die dieses Plugin verwenden ) – da man dort aber leider nichts „schnell“ umsetzt, kann hier vielleicht Shopware direkt noch irgendwas modifizieren, das die Länder auch mit „DHL-Wunschpaket-Plugin“ ausgeblendet werden?

@W222 schrieb:

Ich will auch Probleme / Bugs melden. Verwende Shopware 5.5.3 mit der Core-Lösung zum Geo-Blocking.

Problem Nummer 1: 

Ich habe alle EU-Länder aktiviert. Bei allen bis auf zwei habe ich „Als Lieferland zulassen“ weggeklickt (kein Häkchen) und „als Lieferland ausblenden“ angeklickt. 

Wenn man im Off-Canvas Warenkorb auf „Warenkorb bearbeiten“ klickt, dann unten auf Versandkosten -> Hier stehen trotzdem alle EU-Länder stehen zur Auswahl, es wird kein Land, das nicht beliefert wird, ausgeblendet. Klickt man eines dieser Länder an, kommt oben folgende Fehlermeldung: „Keine Versandart“ – hier sollte ebenfalls ein roter Hinweis erscheinen „Lieferung in dieses Land nicht möglich“ . Aber besser noch: alle nicht belieferten Länder können gar nicht erst ausgewählt werden!

Den Textbaustein für den Hinweis kannst du selbst im Backend anpassen. Das Dropdown-Menü dort ist nur als Vorschau gedacht, kannst du gerne als Verbesserung unter issues.shopware.com einstellen, würde ich nun aber erstmal als kosmetisches Problem werten. Ich schau morgen mal, ob man das nicht vielleicht sogar per Template ändern kann. Generell würde ich da aber alle Länder anzeigen, da ja sonst der Eindruck entsteht, man würde diese garnicht erlauben. Glaube ein Hinweis mit „In dieses Land wird nicht versendet“ fände ich pers. klarer/nachvollziehbarer für einen Kunden.

Das Wunschpaket Problem solltet ihr bei DHL melden.

Der Post hier ist nur für die Core-Lösung (ab 5.5.3)! 

@Moritz Naczenski schrieb:

 

Den Textbaustein für den Hinweis kannst du selbst im Backend anpassen. Das Dropdown-Menü dort ist nur als Vorschau gedacht, kannst du gerne als Verbesserung unter issues.shopware.com einstellen, würde ich nun aber erstmal als kosmetisches Problem werten. Ich schau morgen mal, ob man das nicht vielleicht sogar per Template ändern kann. Generell würde ich da aber alle Länder anzeigen, da ja sonst der Eindruck entsteht, man würde diese garnicht erlauben. Glaube ein Hinweis mit „In dieses Land wird nicht versendet“ fände ich pers. klarer/nachvollziehbarer für einen Kunden.

 Da gibt es zwei Lösungen. Entweder man passt den Textbaustein für „Keine Versandart“ an - as könnte dann so aussehen:

Ihr aktuell ausgewähltes Land wird nicht beliefert. {if $sCountryList}Wir bieten lediglich Lieferungen in folgende Länder an: {foreach $sCountryList as $country name=countries}{if $country.allow_shipping}{$country.countryname}{if not $smarty.foreach.countries.last}, {/if}{/if}{/foreach}{/if}

Der Textbaustein heißt: ConfirmInfoNoDispatch

Oder, wenn man die Länder dort wirklich ausblenden will, kann man dies über das Theme machen. Dazu eine Datei /themes/frontend/mein_theme/frontend/checkout/shipping_costs.tpl anlegen, mit folgendem Inhalt:

{extends file="parent:frontend/checkout/shipping_costs.tpl"}
    {block name='frontend_checkout_shipping_costs_country_selection'}
        
            
                {foreach $sCountryList as $country}
                    {if $country.allow_shipping}
                        
                            {$country.countryname}
                        
                    {/if}
                {/foreach}
            
        
    {/block}

Danach werden die Länder, die den Haken nicht gesetzt haben, ausgeblendet in diesem Dropdown.

Finde aber erste Lösung besser. Zum einen kann man das über das Backend direkt machen, indem man den Textbaustein anpasst und zum anderen zeigt man dem Kunden so, dass er das Land zwar wählen kann, es aber nicht beliefert wird.

2 „Gefällt mir“

Top, danke  Thumb-Up Ich werde deine erste Lösung umsetzen, denn ich stimme dir zu, das sollte die sinnvollere Lösung sein. Meldung über Plugin-Support an DHL ist raus, ich hoffe das sich noch andere anschließen und ebenfalls an DHL schreiben.

Edit: Könnte dein zweiter Vorschlag evtl. auch eine mögliche Lösung für die Lieferadresse mit dem DHL-Plugin sein? Bzw. kann man es so auch auf der Register-Seite angepasst verwenden?

Nochmal Edit: Ich hab leider ein Problem bei der Umsetzung der ersten Lösung. Ich habe den Code wie angeben eingegeben - aber hinter dem letzten belieferten Land steht immer ein Komma. Hab testweise das Komma nach " {if not $smarty.foreach.countries.last} " rausgenommen und Cache geleert - hat aber nichts gebracht.

 

@W222‍ wo kommt denn bei Dir “Als Lieferadresse ausblenden” noch her? Das dürfte aus dem Plugin von Moritz kommen, oder? Das brauchst Du dann in der Core-Version aber nicht mehr, wäre ja doppelt gemoppelt.

Edit: Aah - Moritz hat keinen Uninstall-Context in seinem Plugin. Damit bleibt das Attribute natürlich erhalten, auch wenn das Plugin deinstalliert wird.

@Sonic Ich hatte das Plugin „Lieferland Begrenzung“ nie installiert, nur direkt das Update auf 5.5.3. eingespielt. Unter Grundeinstellungen > Länder habe ich rechts neben dem „Bearbeiten-Stift“ einen Button mit grünem Plus. Draufgeklickt gibt es die Möglichkeit „Als Lieferadresse ausblenden“ auszuwählen.

Hab ich nicht *staun*

@W222 schrieb:

@Sonic Ich hatte das Plugin „Lieferland Begrenzung“ nie installiert, nur direkt das Update auf 5.5.3. eingespielt. Unter Grundeinstellungen > Länder habe ich rechts neben dem „Bearbeiten-Stift“ einen Button mit grünem Plus. Draufgeklickt gibt es die Möglichkeit „Als Lieferadresse ausblenden“ auszuwählen.

Dann hattest du aber mal irgendein Plugin installiert, was das macht :slight_smile:
Vielleicht wirklich das „ganz ganz alte“, was ich mal angefangen habe. Das war aber nur eine Behelfslösung. Du könntest mal schauen, ob du in der Freitextfeld-Verwaltung ein Attribut bei den Ländern hast, was disableforshipping heißt. Dann könntest du folgendes Querry ausführen in der Datenbank:

UPDATE s_attribute_configuration SET custom = 1 WHERE column_name = 'disableforshipping'

Anschließend kannst du das Attribut in der Freitext-Feld Verwaltung löschen.

Ab 5.5.3 hast du das direkt bei den Länder-Einstellungen.

 

Das grüne „+“ wird nur für das Plugin benötigt. 

Ich hatte mal dein “MNRestrictShipping” installiert. “disableforshipping” hab ich aber nicht gefunden. Bei mir ist es aktuell so, das ich beide Möglichkeiten habe, also auch das direkt unter den Länder-Einstellungen. Könnte das Probleme machen?

Hast du evtl. eine Idee, wieso er bei mir ein Komma nach dem letzten belieferten Land anzeigt? Habe deinen Code für die erste Lösung mit der Fehlermeldung 1:1 eingefügt.

@W222 schrieb:

Ich hatte mal dein „MNRestrictShipping“ installiert. „disableforshipping“ hab ich aber nicht gefunden. Bei mir ist es aktuell so, das ich beide Möglichkeiten habe, also auch das direkt unter den Länder-Einstellungen. Könnte das Probleme machen?

Hast du evtl. eine Idee, wieso er bei mir ein Komma nach dem letzten belieferten Land anzeigt? Habe deinen Code für die erste Lösung mit der Fehlermeldung 1:1 eingefügt.

Wenn du das Plugin mal installiert hattest, kannst du das SQL ausführen und dann das Freitextfeld, über die Freitextfeld-Verwaltung löschen. Das macht aber nichts kaputt - kann nur gelöscht werden, da es nicht mehr gebraucht wird. Wenn du das alte Plugin nicht aktiv ist, passiert da auch nichts, ist quasi nur „Datenmüll“.

Ja, ich hab eine idee, warum das so ist :smiley:
Der prüft bei dem Snippet, ob es das letzte Land in dem Foreach ist, bei dir ist das letzte aber eines, was nicht beliefert wird, daher wird das Komma gesetzt. Spontan könnte man die Logik umdrehen:

Ihr aktuell ausgewähltes Land wird nicht beliefert. {if $sCountryList}Wir bieten lediglich Lieferungen in folgende Länder an: {foreach $sCountryList as $country name=countries}{if $country.allow_shipping}{if not $smarty.foreach.countries.first}, {/if}{$country.countryname}{/if}{/foreach}{/if}

Das setzt jedoch voraus, dass das erste beliefert wird. Aber das ist i.d.R. ja Deutschland. Also es muss an Position 1 des Dropdowns (Positionsfeld gibt es ja im Backend) eines stehen, was beliefert wird. 

1 „Gefällt mir“

Wenn ein Kunde nicht angemeldet und im Warenkorb ist, kann er sein Land anklicken, Es erscheint natürlich keine Versandart aber auch kein Hinweis. Könnte man hier auch einen Hinweis ausgeben? Auch erscheinen keine Zahlarten, nur Vorkasse. Das ist auch blöd.