Jump to content

Zahlarten In Ländern Ausblenden


Recommended Posts

Wünsche frohe Weihanchten (gehabt zu haben) liebe Community,

 

ich habe ein fettes Problem mit den Zahlarten. Ich nutze advancedeucompliance 1.5. und den One Page Checkout auf 1.6.2

 

Soeben habe ich festgestellt, dass meine Zahlarten "alle" auch im Ausland angezeigt werden. Sofort und Rechnung, oder Amazonpayment nutzen hier allerdings wenig,

 

Ich habe aber schon unter

 

Module > Zahlarten > Länderbeschränkungen

 

die Haken bei den entsprechenden Ländern dekativiert. Die Zahlarten werden aber trotzdem angezeigt. :(

 

Gibt es irgendwo noch einen anderen Punkt im Setup, den ich möglicherweise übersehen habe, oder habe ich ein fettes techinisches Problem?

 

Danke schon mal für eure Hilfe..

Link to comment
Share on other sites

So, ich nochmal. Ich habe jetzt weitere 2 Stunden rumgesucht und ausprobiert. Es sieht so aus, als wäre das ein gewaltiger Bug des Advanedeucompliance Moduls. Wenn ich das Modul deaktiviere werden die Einstellungen unter Module > Zahlaren > Ländereinschränkungen berücksichtigt.

 

Aktiviere ich das Modul wieder ist zunächst die Anzeige des Checkouts noch ohne Wirkung des AE-Moduls (z.B. AGB bestätigung auf Seite 4 Versandkosten, Zahlarten am Fuße der letzten Seite), nach einem Reset dieses Moduls sieht der Checkout wieder ok aus, aber die Zahlarten werden wieder alle eingeblendet.

 

Das ist meiner Meinung nach ein echtes Unding!

 

Kann doch nicht sein, dass ich der einzige bin dem das aufgefallen ist? Kann das mal jemand nachhalten oder kann mir jemand anders der das AE-Modul im Einsatz hat bestätgen, dass die Ländereinschränkung funktioniert??

Link to comment
Share on other sites

Konnte es jetzt noch genauer eingrenzen!

 

Es ist ein Bug in der Bestellübersicht. Wenn man diese aktiviert, werden die Ländereinschränkungen nicht berücksichtigt. Schaltet man die Bestellübersicht ab, werden die Einschränkungen berücksichtigt.

 

Dieser Fehler besteht auch mit der Version 2.0.0 von dem Modul.

 

Das ist echt zum Kopfschütteln, ich verstehe echt nicht, warum ich der erste sein sollte, dem das auffällt. Aber wenn man im Forum sucht findet man 1 einzigen Eintrag der das selbe Thema berührt. Wo sind denn die ganzen Produktivshops in D? Verkauft keiner von denen ins Ausland?

 

...verstehe ich nicht.

Link to comment
Share on other sites

Dem "gewaltigen Bug" stimme ich zu, nur leider liegt scheint es nicht mal am Modul AdvancedEUCompliance selbst zu liegen, sondern an der Einbindung des Moduls in den PrestaShop-Core. Der Fehler dürfte ab 1.6.1.2 auftreten. Ab hier wurde nämlich erstmals die bis dahin funktionierende order-payment.tpl des Templates, die der Einblendung der Zahlungsarten sowohl beim klassischen wie auch beim One-Page-Checkout dient, in drei Dateien aufgespalten:

 

order-payment.tpl

order-payment-advanced.tpl

order-payment-classic.tpl

 

Während der sog "klassische", aber für Deutschland abmahngefährdete Checkout weiterhin richtig funktioniert, d.h. nur die für das Kundenland freigegebenen Zahlungsarten anzeigt, sammelt die order-payment-advanced.tpl anscheinend wahllos alle verfügbaren Zahlungsarten und blendet sie ein.

 

Nicht jedem muss zwangsläufig der Fehler auffallen. Viele Shops bieten nur eine Handvoll Zahlungsarten an, die im In- und Ausland gleich sind, vor allem Paypal.

 

Es wäre also gut, wenn du den Fehler im Bugtracker melden würdest oder die Betreffenden bei Github direkt darauf hinweisen würdest.

Link to comment
Share on other sites

Hallo eleazar,

 

danke für die weitergehenden Erläuterungen. Dann macht es auch evtl. Sinn sich mal die klassische Version, und die advanced genauer anzugucken und zu vergleichen?

 

Vielleicht kann man das ja mit ein bisschen c & p anpassen. Werd da mal nen Blick drauf werfen.

 

Ist denn dies Aktivierung der "Übersichtsseite" innerhalb des AEC Modules gleichbedeutend zwischen dem Wechsel zwischen klassik bzw. advanced template?

 

Bug tracker werde ich gleich mal melden. Wo wäre das denn bei Github?

 

Es hat mich übrigens nur einfach gewundert, dass einer wie ich, der ich jetzt seit grad mal rund 2 Wochen mit Presta live bin soetwas äuffälliges entdecken muss, wo das System doch vergleichsweise viel im Einsatz ist. Aber klar, rechnet man auf 1.6.2+ und dann im Grunde auf Nutzer in D (weil das wohl eher die einzigen sind die das Modul AEC hier nutzen) runter, wird der Kreis immer kleiner...

Link to comment
Share on other sites

Ok, wenn man sich die beiden Dateien ansieht, sieht es genau anders herum aus. Die klassische Version spielt die Zahlarten beinahe ganz ohne sichtbare Einschränkungen aus

  {if $opc}
            <div id="opc_payment_methods-content">
        {/if}
        <div id="HOOK_PAYMENT">
            {$HOOK_PAYMENT}
        </div>
        {if $opc}
            </div> <!-- end opc_payment_methods-content -->
        {/if} 

Während doch bei der advanced Version etwas mehr Abfragelogik dazu kommt

 <!-- HOOK_ADVANCED_PAYMENT -->
    <div id="HOOK_ADVANCED_PAYMENT">
        <div class="row">
        <!-- Should get a collection of "PaymentOption" object -->
        {assign var='adv_payment_empty' value=true}
        {foreach from=$HOOK_ADVANCED_PAYMENT item=pay_option key=key}
            {if $pay_option}
                {assign var='adv_payment_empty' value=false}
            {/if}
        {/foreach}
        {if $HOOK_ADVANCED_PAYMENT && !$adv_payment_empty}
            {foreach $HOOK_ADVANCED_PAYMENT as $advanced_payment_opt_list}
                {foreach $advanced_payment_opt_list as $paymentOption}
                    <div class="col-xs-12 col-md-6">

Aber offenbar funktioniert diese Abfrage nicht. Es ist eben auch ein ganz anderer Hook, der da Verwendung findet. Evtl. könnte man ja an dieser Stelle einfach den HOOK_PAYMENT anstelle des HOOK_ADVANCED_PAYMENT nehmen und die Abfrage weglassen, dann müsste es ja vielleicht gehen, aber wenn ich das richtig erinnere, dann sind die auch optisch etwas anders (jedenfalls meine angepassten Zahlarten-Logos werden in der Klassik Version nicht genutzt), und insgesamt wird das dann doch zu sehr gewurstelt.

 

Schätze werde dann doch mal abwarten was die Entwickler dazu sagen.

 

@ eleazar,

 

kannst Du mir noch nen Link geben, wo ich das bei Github melden kann?

 

thx

Edited by dusticelli (see edit history)
Link to comment
Share on other sites

Du kannst es bei Github ändern oder Bemerkungen machen, aber nicht melden. Oder du wendest dich direkt an den Programmierer Thibaud Chauvière.

 

Und vielleicht noch ein Tipp: Offenbar wird die Anzeige der verfügbaren Zahlungsarten ausschließlich von der Kundengruppe abhängig gemacht - nicht vom Herkunftsland des Kunden!

 

EDIT: Außer den Beschränkungen für Kundengruppen funktionieren auch die Beschränkungen nach Währung. Es sind nur die Länderbeschränkungen, die beharrlich ignoriert werden. Ich habe diesen Bug mal hier mit angehängt: http://forge.prestashop.com/browse/PSCSX-7473?jql=project%20in%20%28PNM%2C%20PSCSX%29

Edited by eleazar 
erweitert (see edit history)
Link to comment
Share on other sites

  • 3 weeks later...

Okay, ich hatte in Erinnerung, dass EU Legal den gleichen Bug hatte... und siehe da: Er wurde gefixed.

https://github.com/EU-Legal/modules-1.6.0.14/commit/b21540998d204a1fc89161b5ac8d169f9f3c0572

 

Die Datei Hook.php kann man in sein override/classes-Verzeichnis legen (class_incex.php löschen nicht vergessen), dann sollte das klappen (bei mir tuts das jedenfalls).

  • Like 3
Link to comment
Share on other sites

Okay, ich hatte in Erinnerung, dass EU Legal den gleichen Bug hatte... und siehe da: Er wurde gefixed.

https://github.com/EU-Legal/modules-1.6.0.14/commit/b21540998d204a1fc89161b5ac8d169f9f3c0572

 

Die Datei Hook.php kann man in sein override/classes-Verzeichnis legen (class_incex.php löschen nicht vergessen), dann sollte das klappen (bei mir tuts das jedenfalls).

Ich beneide dich um dein Erinnerungsvermögen! Hab es zwar noch nicht ausprobiert, aber diese Erweiterung der SQL-Bedingung dürfte der Schlüssel sein!
Link to comment
Share on other sites

Bei mir scheint das nicht zu klappen :(

 

Das habe ich gemacht:

 

die Datei Hook.php in das Verzeichnis

 

/override/classes

 

gesteckt.

 

Danach die Datei

 

cache/class_index.php

 

gelöscht.

 

Ich bekomme danach nur eine weiße Seite. Wenn ich dann die Hook.php wieder entferne, dann ist der Shop wieder da.

Link to comment
Share on other sites

Sorry, sorry, sorry...

 

Klappt bei mir auch!
 

Ich hatte einiges falsch gemacht.  Unter anderem hatte ich am Ende der Hook.php noch folgendes Snippets

 

 

Status API Training Shop Blog About Pricing

© 2016 GitHub, Inc. Terms Privacy Security Contact Help

 

und dann hatte ich die Kompilierung komplett abgeschaltet,.

 

Mit aktivierter Kompilierung und ohne das Schnipselchen in der Hook und geleertem Cache hat es nun geklappt. 

 

Das macht mich wirklich froh!

Link to comment
Share on other sites

Ich beneide dich um dein Erinnerungsvermögen! Hab es zwar noch nicht ausprobiert, aber diese Erweiterung der SQL-Bedingung dürfte der Schlüssel sein!

 

Naja, ich hatte vom EULegal-Team gegen Geld das Klarna Modul anpassen lassen... da ist mir dann aufgefallen, dass es in jedem Land erscheint und ich habe es extra gemeldet und ausbessern lassen... ;)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...