[Gelöst] Falsche Pfade in URL in AJAX-Suche

Hallo Zusammen,

ich habe derzeit folgendes Problem: In der Ajax-Suche werden die relativen Links falsch ausgegeben.

Zur Info: Als virtueller Pfad ist in der Konfiguration unter Shopeinstellung > Shops „/de“ angegeben.

In der /themes/Frontend/Selmundo/frontend/search/ajax.tpl wird die URL wie folgt angegeben:

Wenn ich die URL wie folgt direkt ausgebe

{url controller=detail sArticle={$search_result.articleID}}?number={$search_result.ordernumber}

erhalte ich folgende URL:

/de/kat1/kat2/kat3/artikel-name?number=12345

Diese ist auch korrekt. In der tatsächlichen Ausgabe im href-Attribut erhalte ich aber folgende Ausgabe:

kat1/kat2/kat3/artikel-name?number=12345

Somit fehlt beim Klick auf die URL das /de/ und die Ziel-Seite wird nicht gefunden. Einfach /de davorschreiben ist nicht die Lösung, da es dann nur im /de-Subshop läuft und außerdem dann /de/de/kat1/usw. ausgegeben wird. Liegt übrigens nicht am Browser, da es auch bei Abfrage über entsprechende Tools so zurückgegeben wird.

Hat das Problem noch jemand? Oder hat jemand eine Idee wie ich das Problem lösen kann?

Vielen Dank im Voraus!

Glaube eig. nicht, dass es da ein Problem gibt. Konnte es auch in meinem Shop nicht nachstellen.

Teste mal das Standard-Theme und deine Plugins.

Hallo Moritz,

bitte entschuldige, hat nun etwas gedauert.

Habe es mit dem Standard-Reponsive-Theme getestet. Dort tritt der Fehler so nicht auf. Nun ist die Frage, woran kann es liegen? Irgendeine Idee? Weis grad gar nicht wo ich ansetzen soll…

Was aber auffällt ist, dass auch im Standard-Theme die Artikelnummer doppelt angezeigt wird:

/de/kat1/kat2/article-name?number=123&number=123

Das war auch im oben beschriebenen Fall zunächst auch so, daher hatte ich es dann wie oben beschrieben und die “number” selbst angegeben.

Kann das etwas mit dem Problem zu tun haben?

Vielen Dank!

Gruß
Bernhard

Das Problem wurde nun behoben.

Im Detail (falls jemand mal vor einem ähnlichen Problem steht):

  1. Ich habe ein neues Theme vom “Responsive”-Theme abgeleitet.
  2. Dann habe ich die Ordner aus unserem Theme (welches auch von Responsive abgeleitet ist) einzeln in das gerade erstellte “Test-Theme” hineinkopiert und getestet wann der Fehler auftrat.
  3. Nach dem klar war, dass es beim Ordner frontend/index der Fehler wieder auftrat, habe ich alle anderen Ordner wieder gelöscht und nun die Dateien aus diesem Ordner einzeln gelöscht bis der Fehler nicht mehr auftrat. Im Ergebnis war die Datei frontent/index/index.tpl schuld.
  4. Nun habe ich einzeln die Blöcke gelöscht, bis der Fehler weg war. Im Ergebnis hat sich dann herausgestellt, dass beim Erstellen der Datei einfach die index.tpl kopiert und minimal angepasst wurde. So wurde auch der eingebettete JS-Block einfach mitkopiert. Dieser hat sich aber wohl in den Versionen (wenn auch nur leicht) geändert, wodurch hier etwas kaputt gegangen ist. Durch löschen dieses Blocks (bei dem ich sicher war, dass wir ihn nicht anders benötigen, als er in der Original-Datei steht) wurde dieses Problem (und ein weiteres, wodurch der Veriantenwechsel per AJAX nicht mehr möglich war) behoben.

Gruß
Bernhard

P.S. Das ganze natürlich nicht in der Live-Umgebung. :wink: