dusticelli Posted December 27, 2015 Share Posted December 27, 2015 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 More sharing options...
dusticelli Posted December 27, 2015 Author Share Posted December 27, 2015 Sorry ich habe den 5 Schritte Checkout, nicht den den OPC. Link to comment Share on other sites More sharing options...
dusticelli Posted December 27, 2015 Author Share Posted December 27, 2015 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 More sharing options...
dusticelli Posted December 27, 2015 Author Share Posted December 27, 2015 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 More sharing options...
eleazar Posted December 28, 2015 Share Posted December 28, 2015 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 More sharing options...
dusticelli Posted December 28, 2015 Author Share Posted December 28, 2015 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 More sharing options...
eleazar Posted December 28, 2015 Share Posted December 28, 2015 Hallo dusticelli, abgefragt wird der Schalter am Ende der order-payment.tpl: {if $advanced_payment_api} {include file="$tpl_dir./order-payment-advanced.tpl"} {else} {include file = "$tpl_dir./order-payment-classic.tpl"} {/if} Bei Github findest das Modul hier: https://github.com/PrestaShop/advancedeucompliance/tree/dev Link to comment Share on other sites More sharing options...
dusticelli Posted December 28, 2015 Author Share Posted December 28, 2015 (edited) 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 December 28, 2015 by dusticelli (see edit history) Link to comment Share on other sites More sharing options...
eleazar Posted December 29, 2015 Share Posted December 29, 2015 (edited) 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 December 29, 2015 by eleazar erweitert (see edit history) Link to comment Share on other sites More sharing options...
EvilDragon Posted January 18, 2016 Share Posted January 18, 2016 Argh - jetzt hab ich upgedatet und das gleiche Problem. Ich gehe davon aus, dass noch keiner einen Hack dafür gefunden hat? Link to comment Share on other sites More sharing options...
EvilDragon Posted January 19, 2016 Share Posted January 19, 2016 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). 3 Link to comment Share on other sites More sharing options...
dusticelli Posted January 19, 2016 Author Share Posted January 19, 2016 Hallo EvilDragon, das hört sich aber gut an. Komme leider erst Ende der Woche dazu das zu testen, aber Dein Post macht mir schon mal Freude. Link to comment Share on other sites More sharing options...
eleazar Posted January 19, 2016 Share Posted January 19, 2016 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 More sharing options...
eleazar Posted January 20, 2016 Share Posted January 20, 2016 Funktioniert! Ich habe das vorhin für die Development-Version von PrestaShop geändert: https://github.com/PrestaShop/PrestaShop/pull/4739 und hoffe auf ein baldiges File Merge. 1 Link to comment Share on other sites More sharing options...
dusticelli Posted January 21, 2016 Author Share Posted January 21, 2016 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 More sharing options...
dusticelli Posted January 21, 2016 Author Share Posted January 21, 2016 ...NACHTRAG: was ich nicht verstehe, die class_index.php erscheint aber bei mir gar nicht wieder? Hä? Link to comment Share on other sites More sharing options...
dusticelli Posted January 21, 2016 Author Share Posted January 21, 2016 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 More sharing options...
EvilDragon Posted January 21, 2016 Share Posted January 21, 2016 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now