Jump to content
CarlaL

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

 

 

Share this post


Link to post
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

Share this post


Link to post
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}

Share this post


Link to post
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

Share this post


Link to post
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)

Share this post


Link to post
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)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More