Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Geoblocking Anpassung - IF Abfrage in Kundenanmeldung

    Firebird

    • Frisch an Board
    • Beiträge: 74
    Hallo modified community,

    Ich würde gerne einen Text in der Anmeldung einblenden, je nach ausgewählten Land

    (Deutschland und nicht Deutschland bzw. die ID sollte 81 sein , daher die If Abfrage wäre:
    wenn Country == "Germany" dann Text X wenn ungleich != "Germany" Text Y

    Wie muss ich das in den create_account HTML Dateien hinterlegen?
    Irgendwie will es nicht wie ich will...

    Gruß

    Firebird

    Linkback: https://www.modified-shop.org/forum/index.php?topic=39543.0
    Werbung / Banner buchen

    hpzeller

    • Experte
    • Beiträge: 4.130
    • Geschlecht:
    Re: Geoblocking Anpassung - IF Abfrage in Kundenanmeldung
    Antwort #1 am: 04. Oktober 2018, 14:18:32
    Hallo Firebird,

    sofern du das tpl_modified verwendest könntest z.B. in der Datei templates/tpl_modified/module/create_account.html am Ende folgenden JavaScript Code einfügen.

    Code: XML  [Auswählen]
    {literal}
    <script>
      $(function () {
        var D = "Text für Deutschland";
        var nichtD = "Text wenn nicht Deutschland";
        var style = "width: 95%; float: left; display: block;";
           
        function replace_text() {    
          if ($("#create_account *[name='country'] option:selected").val() == "81") {
            $('#country_info').text(D);
          } else {
            $('#country_info').text(nichtD);
          }
        }    
       
        $("#create_account *[name='country']").parent().before('<div id="country_info" style="' + style + '"></div>');    

        replace_text();

        $( "#create_account *[name='country']" ).change(function() {
          replace_text();        
        });
      });
    </script>
    {/literal}
     

    Gruss
    Hanspeter

    Firebird

    • Frisch an Board
    • Beiträge: 74
    Re: Geoblocking Anpassung - IF Abfrage in Kundenanmeldung
    Antwort #2 am: 04. Oktober 2018, 15:03:56
    Scheint eine gute Lösung zu sein, Wie kann ich den das ganze so angeben das der Text nach dem Country Dropdown kommt bzw. es schiebt mir das Dropdown rechts zur Seite, lieber wäre es mir wenn der Text rechts neben dem Dropdown erscheint.

    hpzeller

    • Experte
    • Beiträge: 4.130
    • Geschlecht:
    Re: Geoblocking Anpassung - IF Abfrage in Kundenanmeldung
    Antwort #3 am: 04. Oktober 2018, 15:19:25
    [...]
    Wie kann ich den das ganze so angeben das der Text nach dem Country Dropdown kommt ..

    Versuch es mal so.

    Code: XML  [Auswählen]
    {literal}
    <script>
      $(function () {
        var D = "Text für Deutschland";
        var nichtD = "Text wenn nicht Deutschland";
        var style = "width: 95%; display: inline-block;";
           
        function replace_text() {    
          if ($("#create_account *[name='country'] option:selected").val() == "81") {
            $('#country_info').text(D);
          } else {
            $('#country_info').text(nichtD);
          }
        }    
       
        $("#create_account *[name='country']").parent().append('<span id="country_info" style="' + style + '"></span>');    

        replace_text();

        $( "#create_account *[name='country']" ).change(function() {
          replace_text();        
        });
      });
    </script>
    {/literal}
     

    PS:
    Welche Shopversion und welches Template verwendest du?

    Gruss
    Hanspeter

    octavia08

    • Neu im Forum
    • Beiträge: 22
    • Geschlecht:
    Re: Geoblocking Anpassung - IF Abfrage in Kundenanmeldung
    Antwort #4 am: 28. Oktober 2018, 02:46:51
    Hallo,
    und wie müsste man das Script abwandeln wenn man nicht nur die IP für Deutschland "81" eingeben möchte?
    Von Java verstehe ich leider zu wenig.
    Wir haben 12 Länder in die geliefert wird. Alle IP hintereinander einzugeben funktioniert nicht, dann kommt immer der Text unter "var nichtD = " "; auch bei den Ländern in die geliefert wird.
    Gibt dafür auch eine Lösung.
    Gruß
    Octavia

    hpzeller

    • Experte
    • Beiträge: 4.130
    • Geschlecht:
    Re: Geoblocking Anpassung - IF Abfrage in Kundenanmeldung
    Antwort #5 am: 28. Oktober 2018, 12:48:20
    Hallo Octavia,

    versuch es mit diesem Code.

    Code: XML  [Auswählen]
    {literal}
    <script>
      $(function () {
        var LIDs = ["81", "14", "..."]; // Hier die IDs der Leander eintragen in die geliefert wird.
        var wg = "<span style=\"color: green;\">In dieses Land wird geliefert</span>";
        var wng = "<span style=\"color: red;\">In dieses Land wird nicht geliefert!</span>";
        var style = "width: 95%; display: inline-block; padding: 5px 0 5px 0;";
           
        function replace_text() {    
          if (LIDs.indexOf($("#create_account *[name='country'] option:selected").val()) > -1) {
            $('#country_info').html(wg);
          } else {
            $('#country_info').html(wng);
          }
        }    
       
        $("#create_account *[name='country']").parent().append('<span id="country_info" style="' + style + '"></span>');    

        replace_text();

        $( "#create_account *[name='country']" ).change(function() {
          replace_text();        
        });
      });
    </script>
    {/literal}

    Gruss
    Hanspeter

    octavia08

    • Neu im Forum
    • Beiträge: 22
    • Geschlecht:
    Re: Geoblocking Anpassung - IF Abfrage in Kundenanmeldung
    Antwort #6 am: 28. Oktober 2018, 13:49:09
    Hallo,

    ich danke Dir!!
    Es funktioniert einwandfrei. Die Texte erscheinen immer bei den "richtigen" Ländern.

    Beste Grüße
    Oktavia

    octavia08

    • Neu im Forum
    • Beiträge: 22
    • Geschlecht:
    Re: Geoblocking Anpassung - IF Abfrage in Kundenanmeldung
    Antwort #7 am: 28. Oktober 2018, 14:28:03
    Hallo Hans-Peter,

    mal eine Frage, würde es nicht Sinn machen, den Text in dem Feld in dem das "Land" erscheint einzufügen, um eine Eintragung und somit den Kauf zu verhindern?
    Bei uns kann nämlich trotz der eindeutigen Eintragungen unter den Zahlungsoptionen und Versandoptionen der Kunde, der aus dem nicht belieferbaren Land kommt, mit der nicht zulässigen Adresse kaufen.
    Problem ist dabei, dass sogar die Versandkosten einfach wegfallen, da ja keine deklariert sind etc. etc.

    Unsere ShopVersion 1.05 SP1b mit vielen Zusätzen und Änderungen.

    Beste Grüße
    Oktavia

    hpzeller

    • Experte
    • Beiträge: 4.130
    • Geschlecht:
    Re: Geoblocking Anpassung - IF Abfrage in Kundenanmeldung
    Antwort #8 am: 28. Oktober 2018, 17:32:33
    Hallo Oktavia,

    die Vorschläge die ich dir und Firebird in diesem Thread gemacht habe sind lediglich dazu gedacht bei der Auswahl eines bestimmten Landes einen bestimmten Text einzublenden, mehr machen diese Codeschnipsel nicht, sie verhindern natürlich nicht das ein Kunde im Chekout bei der Lieferadresse ein Land angibt in das man gar nicht liefert.

    Gruss
    Hanspeter

    octavia08

    • Neu im Forum
    • Beiträge: 22
    • Geschlecht:
    Re: Geoblocking Anpassung - IF Abfrage in Kundenanmeldung
    Antwort #9 am: 28. Oktober 2018, 19:05:51
    Hallo HansPeter,

    das habe ich schon richtig verstanden!
    Mein Gedanke ging ja eher dahin, ob man nicht diesen Text ( keine Lieferung....) einfach anstatt dem Ländernamen in dem Feld: Land erscheinen lassen kann, und man damit eventuell die Möglichkeit blockiert, sich mit einem Land, in welches nicht geliefert wird, anzumelden. Gleichzeitig hat er dann ja die Chance - wenn es ihm möglich ist - sich mit einem akzeptierten Lieferland anzumelden.
    Ich bin leider - wie bereits erwähnt - wenn es um Java geht, absolut nicht im Bilde und weiß deshalb auch nicht, ob man das überhaupt umsetzten könnte. :nixweiss:
    .
    Gruß
    Oktavia

    hpzeller

    • Experte
    • Beiträge: 4.130
    • Geschlecht:
    Re: Geoblocking Anpassung - IF Abfrage in Kundenanmeldung
    Antwort #10 am: 28. Oktober 2018, 22:49:31
    Wenn du verhindern willst das sich jemand mit einem Land in das du nicht lieferst anzumelden bzw. zu registrieren, dann entferne dieses Land im Admin aus der Länder-Liste.

    Gruss
    Hanspeter

    Firebird

    • Frisch an Board
    • Beiträge: 74
    Re: Geoblocking Anpassung - IF Abfrage in Kundenanmeldung
    Antwort #11 am: 30. Oktober 2018, 10:21:01
    @octavia

    nach eu gesetz musst du eine Anmeldung zulassen, nur die Lieferung darfst du beschränken auf deine Standard Liefergebiete

    Also kaufen dürfen die+Lieferung innerhalb Deutschlans verlangen.

    Daher auch der Hinweis, sonst hätte ich ja Länder außer Deutschland einfach weiterhin nicht angeboten.

    octavia08

    • Neu im Forum
    • Beiträge: 22
    • Geschlecht:
    Re: Geoblocking Anpassung - IF Abfrage in Kundenanmeldung
    Antwort #12 am: 03. November 2018, 16:30:23
    Hallo,

    da wir ja die Anmeldung zulassen müssen, und damit der Kunde auch den Bestellvorgang komplett durchlaufen kann, bis hin zur Bestellung, haben wir das Problem vorläufig wie folgt gelöst:

    1. Dank hpzeller haben wir eine Script der verschiedene Länder kennzeichnet (läuft wirklich super).

    2. Wir haben in der "create_account.html" einen Eintrag eingefügt, der die Länder zeigt in die wir liefern, denn das kann der Kunde ja ohne Hinweis nicht wissen. (siehe Screeshot).

    3. Wenn der Kunde das nicht merkt und weiter einrichtet wird er nochmals in  unter den Versandoptionen in der "checkout_shipping.html" auf die Lieferländer hingewiesen. (siehe Screenshot)

    4. Hat nun der Kunde alle Warnungen nicht beachtet erhält er in der "Bestellbestätigung" nochmals diese Mitteilung und erhält von uns keine "Auftragsbestätigung".
    Hinweis hierzu: Bei uns läuft es so, das wir uns von "modified" eine Trennung zwischen Bestellbestätigung und Auftragsbestätigung haben programmieren lassen. Der Regelfall dürfte aber sein, dass hiervon die "order_mail.html" betroffen sein dürfte. (siehe Screenshot).

    Da wir mit einem alten "aufgepeppten" System arbeiten macht es keinen Sinn unsere Dateien beizufügen.
    Fast alle Dateien sind stark modifiziert.
    Bei diesem "Vorwarnsystem" kann sich niemand mehr beschweren, dass wir nicht darauf hingewiesen haben, dass wir bestimmte Länder nicht beliefern.

    Gruß Octavia

    WeXsler

    • Viel Schreiber
    • Beiträge: 536
    Re: Geoblocking Anpassung - IF Abfrage in Kundenanmeldung
    Antwort #13 am: 01. Januar 2019, 18:36:03
    Nach dem sich heute der erste Kunde aus Korsika angemeldet hat - natürlich ohne deutsche Lieferanschrift, habe ich nochmal bei mir drüber geschaut und nun eine Frage.

    Gibt es eine Möglichkeit in dem super funktionierenden code von hpzeller im Text
    Zitat
    var nichtD = "Text wenn nicht Deutschland";
    Länderflags anzuzeigen? Ich habe da meinen eingefügten Text in drei Sprachen übersetzt und das steht jetzt doch recht unübersichtlich als ein Textblock neben- bzw. untereinander - also es ist nicht wirklich kenntlich wo die eine Sprache anfängt und die andere aufhört. Mit Länderflags wäre das bestimmt besser zu sehen.

    hpzeller

    • Experte
    • Beiträge: 4.130
    • Geschlecht:
    Re: Geoblocking Anpassung - IF Abfrage in Kundenanmeldung
    Antwort #14 am: 01. Januar 2019, 20:12:48
    [...]
    Gibt es eine Möglichkeit in dem super funktionierenden code von hpzeller im Text
    Zitat
    var nichtD = "Text wenn nicht Deutschland";
    Länderflags anzuzeigen?
    [...]

    Versuch es mal so, mit SVG Landesflaggen.

    Code: XML  [Auswählen]
    <div style="max-width: 50px; height: auto" title="english">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 30">
      <clipPath id="t">
      <path d="M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z"/>
      </clipPath>
      <path d="M0,0 v30 h60 v-30 z" fill="#00247d"/>
      <path d="M0,0 L60,30 M60,0 L0,30" stroke="#fff" stroke-width="6"/>
      <path d="M0,0 L60,30 M60,0 L0,30" clip-path="url(#t)" stroke="#cf142b" stroke-width="4"/>
      <path d="M30,0 v30 M0,15 h60" stroke="#fff" stroke-width="10"/>
      <path d="M30,0 v30 M0,15 h60" stroke="#cf142b" stroke-width="6"/>
      </svg>
    </div>
    English text<br><br>
    <div style="max-width: 50px; height: auto" title="français">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 3 2">
      <rect width="3" height="2" fill="#ED2939"/>
      <rect width="2" height="2" fill="#fff"/>
      <rect width="1" height="2" fill="#002395"/>
      </svg>
    </div>
    Texte français<br><br>
    <div style="max-width: 50px; height: auto" title="italiano">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 3 2">
      <rect width="1" height="2" fill="#009246"/>
      <rect width="1" height="2" x="1" fill="#fff"/>
      <rect width="1" height="2" x="2" fill="#ce2b37"/>
      </svg>
    </div>
    Testo italiano<br><br>
     

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Quelle: https://github.com/hjnilsson/country-flags

    PS:
    Sei dir aber bewusst, Landesflaggen repräsentieren nicht generell eine Sprache.

    Gruss
    Hanspeter
    Managed Server
    0 Antworten
    784 Aufrufe
    05. Juli 2020, 16:18:37 von downset
    1 Antworten
    1880 Aufrufe
    22. Februar 2010, 12:21:49 von jannemann
    2 Antworten
    2110 Aufrufe
    02. Februar 2017, 06:14:42 von stedre
    2 Antworten
    2263 Aufrufe
    14. Mai 2013, 14:14:53 von promo