Jump to content

EU Legal nicht valide


Recommended Posts

Hallo,

 

ich habe PS 1.6.013 mit dem neuesten EU-Legal-Modul lokal installiert. Laut WC3 habe ich nun aber jede Menge invalide Links, weil das Modul im Versandkosten-Link die Parameter nicht maskiert.

index.php?id_cms=1&controller=cms&id_lang=1&content_only=1" class="iframeEULegal" >zzgl. Versandkosten</a> </span>

Hier müsste also & mit & maskiert werden. Weiß jemand wo das gemacht werden muss?

 

Oder erübrigt sich das, wenn ich im Live-Shop dann die URLs umschreiben lasse (ich glaube eher nicht, dass diese Links standardmäßig umgeschrieben werden, oder?).

 

Gruß, Carla

 

 

Link to comment
Share on other sites

So die entsprechende Stelle(n) habe ich jetzt gefunden:

modules/eu_legal/views/templates/hook/displayProductPriceBlock.tpl (kommt zweimal vor)

{if $cms_id_shipping}<a href="{$link->getCMSLink($cms_id_shipping)}{if $seo_active && $show_fancy }?content_only=1{else if !$seo_active && $show_fancy}&content_only=1{/if}" {if $show_fancy} class="iframeEULegal" {/if} >{l s='excl. shipping' mod='eu_legal'}</a>{else}{l s='excl. shipping' mod='eu_legal'}{/if}

Nur kenne ich mich mit den PS-spezifischen Klassen und Funktionen (noch) nicht aus. Weiß jemand, wo man ansetzen muss um  das Parameter-& zu maskieren?

 

Gruß, Carla

Link to comment
Share on other sites

Ich vermute mal, das ist ein B... pardon: Tippfehler, und das Ampersand gehört in beiden Fällen da nicht hin, sondern ein Fragezeichen:

 

 

index.php?id_cms=1&controller=cms&id_lang=1?content_only=1" class="iframeEULegal" >zzgl. Versandkosten</a> </span>

 

 

{if $cms_id_shipping}<a href="{$link->getCMSLink($cms_id_shipping)}{if $seo_active && $show_fancy }?content_only=1{else if !$seo_active && $show_fancy}?content_only=1{/if}" {if $show_fancy} class="iframeEULegal" {/if} >{l s='excl. shipping' mod='eu_legal'}</a>{else}{l s='excl. shipping' mod='eu_legal'}{/if}

Link to comment
Share on other sites

Hallo Wuschel,

 

glaube ich eher nicht. Die Unterscheidung erfolgt ja über die Abfrage seo-friendly ja/nein. Da scheint mir die Unterscheidung in &/? durchaus Sinn zu machen, zumal das ja der einzige Unterschied im Code ist ... und warum sollte man dann überhaupt eine if/else Abfrage machen?

Aber danke für den Hinweis, hier kann man zumindest schon mal &content_only in &content_only ändern

 

Dann gibt es aber noch die anderen &, also &controller / &id_lang. Die werden mit der Funktion getCMSLink($cms_id_shipping) generiert. Und da müsste man ansetzen ... nur wo finde ich die? Ich habe jetzt schon im kompletten Modul nach getCMSLink gesucht, aber nichts gefunden. Any idea?

 

Gruß, Carla

Link to comment
Share on other sites

Hallo Carla,

 

das hat nur bedingt etwas mit der If-Abfrage zu tun. Trotzdem war meine Vermutung falsch, denn das "&" sollte immer ein "?" ersetzen, wenn sich bereits ein weiteres Fragezeichen in der URL befindet (was allerdings zumindest im Firefox unter Windows kein Problem darstellt).

 

Es geht ja hier um eine zur Laufzeit generierte URL - die erste bei aktivierten Benutzerfreundlichen URLs wird wie folgt aufgelöst:

<URL-MeinShop>/content/1-Lieferung?content_only=1

Das funktioniert also. Hat man die Benutzerfreundlichen URLs nicht aktiviert, dann wird der else-Zweig fällig, und da liegt der Hase im Pfeffer! Denn mit einem & als Ersatz ist es nicht getan. Korrekt müsste die URL jetzt durch Escape-Sequenzen maskiert folgendermaßen aussehen:

<URL-MeinShop>/index.php?id_cms=1%26controller=cms%26id_lang=1%26content_only=1

Tut sie aber nicht! Sie sieht nämlich so aus:

<URL-MeinShop>/index.php?id_cms=1&controller=cms&id_lang=1&content_only=1

Da aber die Generierung der URL über Variablen verläuft, die zur Laufzeit erst aufgelöst werden, hast du keine direkte Änderungsmöglichkeit, wenn du nicht auf die Fancybox verzichten willst. Da ist also Nacharbeit der Entwickler von EU legal, wahrscheinlich aber von Prestashop selbst, angesagt.

 

 

Gruß

Wuschel

 

P.S. Zum Thema getCMSLink  s. meinen Beitrag hier: https://www.prestashop.com/forums/topic/428366-link-zur-versandkostentabelle-f%C3%A4llt-aus-bei-eingeschalteter-ssl-verschl%C3%BCsselung/?do=findComment&comment=2002007

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

Hallo Wuschel,

 

vielen Dank für die ausführliche, professionelle Erklärung. Dann lag - bei mir - das Hauptproblem darin, dass ich hier in meiner lokalen Installation das mod_rewrite einfach nicht richtig zu  Laufen bekomme und deshalb seo-friendly z.Zt. ausgeschaltet lasse. Das vergess' ich immer :wacko:

Bleibt aber trotzdem ein Bug – und dein Hinweis auf den anderen Beitrag stimmt mich auch nicht optimistischer ...

 

Gruß, Carla

Edited by CarlaL (see edit history)
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...