Menü geht nicht bei details.tpl

Hallo liebe Forenmitglieder,
ich habe ein kleines Problem undzwar geht das Hauptmenü und die Loginbox nicht, wenn ich auf der Detail-Seite eines Artikels bin.
Also das Menü klappt zwar seine Untermenüs auf, sobald man aber auf eine Unterkategorie klicken möchte, verschwindet es wieder.
Und die Loginbox funktioniert gar nicht.
Auf allen anderen Seiten funktioniert das alles ohne Probleme…

MfG, Robin

Shopversion? Link?

Version ist die 4.7.2 in der CE.
Link würde ich lieber nicht rausgeben, da die Seite noch nicht final ist.

dann schau in die Browser Console welche Fehler da stehen und mach die letzten Änderungen nach und nach rückgängig bis es wieder funzt und dann weißt du wo das Problem lag.

Ich nehme an, du meinst mit Konsole das, was bei Firefox mit Strg+Shift+K aufgerufen wird?
Wenn ja, dann tut sich dort gar nichts, wenn ich auf die Loginbox klicke, jedoch auch nicht, auf den funktionierenden Seiten.

Und Änderungen Rückgängig machen, ist schwer, weil mir das erst jetzt aufgefallen ist.
Ich habe zwar noch Backups, aber bevor ich die wieder aufspiele dachte ich, ich könnte hier zumindest einen Anhaltspunkt bekommen, woran es liegen könnte.

bei Firefox brauchst du Firebug, dann drückst du F12 und gehst in den Tab Konsole

Okay, also er gibt mir diesen Fehler.

TypeError: $.cookie is not a function
***/out/azure/src/js/widgets/oxarticleactionlinksselect.js?1356888526
Line 75

In Zeile 75 steht dann das.
if( !$.cookie(“showlinksonce”) ) {
Leider habe ich von JavaScript gar keine Ahnung, aber kann es denn sein, dass der Fehler in der Datei liegt, denn die habe ich nicht bearbeitet.

schau mal im Quellcode der Seite nach, ob
out/azure/src/js/libs/cookie/jquery.cookie.js
geladen wird und das am besten vor der oxarticleactionlinksselect.js

Anscheinend nicht, denn FireBug gibt auch noch aus:

ReferenceError: jQuery is not defined
***/out/azure/src/js/libs/cookie/jquery.cookie.js?1356888745
Line 10

dann musst du jetzt suchen woher jquery früher herkam und wo es jetzt fehlt

Okay, ich habe erlich gesagt von JQuery/javaScript und wie die JQuery Bibliothek geladen wird keine Ahnung.
In welchem Template wird JQuery denn geladen und wie kann ich überprüfen, ob es geladen ist?

deswegen habe ich auch geschrieben “suchen”.
Ein bisschen Selbstständigkeit musst du schon mitbringen…
Öffne einfach ein Template für irgendeine Seite, die funktioniert, und such.
Oder schau beim unveränderten Azure nach wie die Datei heißt.
Dann suchst du in den Dateien nach dem Dateinamen der jQuery Bibliothek.
Wenn du die Datei gefunden hast, schaust du in deine angepasste Datei… und so weiter…

Ok, anscheinend lädt Oxid die [U] jquery.cookie[/U] vor der [U]jquery.min[/U] .
Komisch ist, wenn ich den tmp Ordner in meinem eigenen Template umbennene funktioniert alles, da er sich die Daten dann ja von Azure holt, wenn ich aber den tmp Ordner stehen lasse und nur die Ordner dadrinnen ändere im Namen, um näher zu bestimmen wo der Fehler liegt, funktioniert es nicht.
Dabei ist im tmp Orner sonst nichts anderes.

Soweit ich das erkannt habe, wird ja in base.tpl die jQuery Bibliothek eingebunden.
Die wird aber aus dem Azure Template geladen.
Kann es sein, dass jetzt in einem anderen Template auch noch mal jquery.cookie geladen wird?

Ich versuche ja, den Fehler weitestgehend alleine zu finden, aber da ich nicht jede tmp Datei in Oxid kenne ist das manchmal was schwer.

meinst du mit “tmp” vielleicht doch tpl? “tmp” ist nämlich der Cache.

Ich fasse mal kurz zusammen:
auf der Detailseite wird jquery.cookies vor dem jquery.min geladen, auf allen anderen Seiten ist aber alles richtig.
Da aber beides in der base.tpl geladen wird, ist es extrem seltsam.

Hast du zufällig irgendwo im Template Scripts mit <script>…</script> eingebunden?

Oh, ja, ich meine tpl, ich war wohl noch nicht so ganz bei der Sache. :smiley:

Nein, auf allen Seiten wird jquery.cookies zu erst geladen.
Was mich wundert, warum das so ist, da in der base.tpl ja eindeutig jquery.min zuerst geladen wird.
Nein, scripte habe ich keine eingebunden.

Und das komische ist, wenn ich den Namen des tpl-Ordners in meinem Theme in z.B. tpl.debug ändere funktioniert es, dass jquery.min zu erst geladen wird.
Wenn ich jetzt aber alle Ordner die sich darin befinden mit der Endung .debug versehe, aber den tpl-Ordner so lasse funktioniert es nicht, als wäre im tpl-Ordner noch ne versteckt Datei, die FileZilla nicht anzeigt…

leere mal kurz dem tmp Ordner, vielleicht ist irgendwas im Cache noch gespeichert

Habe ich auch schon gedacht, passiert aber auch nichts, es gibt im tmp-Ordner (ja diesmal meine ich den) einen Orner mit Namen Smarty, der sich nciht löschen lässt, weil mir die Recht fehlen, keine Ahnung, ob das normal ist…

Es ist auch echt sehr komisch, ich habe testweise mal alle Ordner aus dem Ordner tpl in einen anderen Ordner verschoben, damit sie sich gar nicht mehr im tpl-Ordner befinden, und trotzdem zeigt er mir noch teilweise meine Änderungen an.
Erst wenn ich den tpl-Ordner lösche/umbenenne klappt alles und die Daten werden von Azure geladen.
Wenn ich dann aber wieder den leeren tpl-Ordner zurückbenenne, funktioniert wieder alles nicht.