Javascript von Plugins aus headIncludeJavaScript/javascriptInit fehlt auf allen Seiten -- woran kann das liegen?

  • Affected Version
    WoltLab Suite 5.3

    Ich habe das Forum vor kurzem auf 5.3 geupdatet und ein paar Plugins installiert, die über den templatelistener "headIncludeJavaScript/javascriptInit" Code in den <head> der Seite einbinden, nämlich "Themen ignorieren", "extended Conversations" und "extended Search". Die Template listener sind in der Tabelle wcf1_template_listener zu sehen.


    Der JS-Code fehlt komplett, wenn ich die Seiten in den Developer Tools meines Browsers ansehe. Ich weiß nicht, wo ich gucken kann, was da schiefgeht. Andere Teile derselben Plugins funktionieren normal - bei "Themen ignorieren" zum Beispiel sind die Buttons zu sehen, aber wenn man draufklickt, passiert nichts, weil der JS-Code fehlt.

    Die Templates "headinclude" und "header" wurden nicht verändert und funktionieren ansonsten auch . Ich weiß nicht, ob das eine Rolle spielt. Die in "header" aufgerufene Variable "$headcontent" ist auch nicht komplett leer, es fehlt nur ein Teil.

    Neuinstallation der betroffenen drei Plugins hat nichts geändert.

    Wo kann ich noch gucken, was da schiefläuft? Ich weiß im Moment nicht weiter. Wo im Code wird der Kram eingebunden?

  • Wie ist denn der genaue Teil in der XML-Datei?

    Eventuell musst du mal den Cache vom WSC leeren, halte ich aber für unwahrscheinlich.

    Hast du das PIP über die DevTools entsprechend abgeglichen?

    Ist die den DevTools vorliegende Datei (sowohl die XML als auch ggf. das eingebundene Template) aktuell und synchronisiert?

    Sind alle benötigten Optionen (Module) und Gruppenrechte gesetzt?

  • Danke für die Hilfe!

    An den Plugins selbst liegt es glaube ich nicht -- die Plugins funktionieren perfekt auf meinem frisch aufgesetzen Forum auf localhost, kommen aus dem Woltlab Store und sind ja auch in vielen Foren im Einsatz.

    Caches habe ich im im ACP gelöscht, ich weiß nicht genau, was du mit cache vom WSC meinst. Das klingt interessant, vielleicht hängt da was fest, ich werde mir das nochmal über FTP ansehen.

    Hast du das PIP über die DevTools entsprechend abgeglichen?

    Ist die den DevTools vorliegende Datei (sowohl die XML als auch ggf. das eingebundene Template) aktuell und synchronisiert?

    Sagt mir leider alles nichts, ich bin zwar Entwickler, aber mit dem WBB kenne ich mich aus Entwicklersicht nicht wirklich aus. Ich habe mir das alles nur im Brower und den F12-Tools und der Datenbank angeguckt.

    Gruppenrechte und Optionen habe ich mir angesehen, das passt alles.

  • Caches habe ich im im ACP gelöscht, ich weiß nicht genau, was du mit cache vom WSC meinst.

    Eigentlich genau das.


    Wobei du natürlich auch ausschließen solltest, dass seitens des Webservers oder CDN (CloudFlare, ...) irgendeine alte Version ausgeliefert wird. Auch mal Strg + F5 bei der Quelltextansicht, schaden kann's ja nicht. ;)


    Sagt mir leider alles nichts, ich bin zwar Entwickler, aber mit dem WBB kenne ich mich aus Entwicklersicht nicht wirklich aus. Ich habe mir das alles nur im Brower und den F12-Tools und der Datenbank angeguckt.

    Ich habe gerade gesehen, dass du meintest, dass der Template-Listener in der Datenbank vorhanden ist.

    Ich kenne die Pakete nicht, aber was du schauen könntest ist, ob (sollte ein Template eingebunden werden) in diesem Template das steht, was drin stehen sollte. Falls der Code direkt in der Datenbank steht, ist das natürlich hinfällig.

    Ansonsten würde ich mal einen der Entwickler drüber schauen lassen oder WoltLab selbst.


    Gruppenrechte und Optionen habe ich mir angesehen, das passt alles.

    Dann gehen mir die Ideen langsam aus. ^^

  • Ist der WoltLab Core denn in der Version 5.3.9 installiert? Funktionieren andere JS Funkltionen einwandfrei?

    Kinds Regards,


    Alexander / Aebian

  • Danke Euch beiden für die Ideen!

    Es war ein sehr komischer Fehler. im Verzeichnis wcf/templates gibt es ein Template "headIncludeJavaScript.tpl", das im Template Editor im ACP nicht auftaucht (was mich schon mal aus der Bahn geworfen hat-- ich wußte nicht, dass es sowas überhaupt gibt, und hab ewig rumgesucht). Mein Schnellschluss im Posting oben, dass der code wohl in die Variable "$headcontent" gehören würde, war entsprechend auch falsch.


    Aus diesem Template headIncludeJavaScript heraus werden die Template-Listener headIncludeJavaScript/javascriptInit aufgerufen. Im Nachhinein irgendwie logisch...

    Und dieses Template war in Ordnung auf meiner lokalen frischen Installation von WCF 3.5.9, aber nicht vollständig auf der von früheren Versionen geupdateten Installation auf unserem Server. In der Version auf dem Server fehlte der Abschnitt, der die Template-Listener aufruft. Deshalb haben die Plugins auf dem Server nicht funktioniert, das Javascript wurde über die Templatelistener nicht geladen.

    Da ich das Template garantiert nie angefasst habe, vermute ich, dass es ein Fehler in der Update-Routine von Woltlab ist, dass es nicht upgedatet wurde oder sowas. Aber das ist letztlich Spekulation, vielleicht gab es auch ein unbemerktes Problem auf unserem Server dabei.

    Ich habe also das Template von meiner lokalen Installation hochgeladen, und jetzt funktioniert alles.


    Dieser Abschnitt hat auf dem Server komplett gefehlt (gekürzt):


    Edited 3 times, last by Trapper ().

    • Official Post

    im Verzeichnis wcf/templates gibt es ein Template "headIncludeJavaScript.tpl", das im Template Editor im ACP nicht auftaucht (was mich schon mal aus der Bahn geworfen hat-- ich wußte nicht, dass es sowas überhaupt gibt, und hab ewig rumgesucht).

    Anmerkung: Das ist so korrekt. Es handelt sich dabei um ein wichtiges System-Template, dass von uns regelmäßig angepasst wird und deshalb nicht bearbeitet werden darf.

  • Danke Alexander. Ich wollte euer pragmatisches Softwaredesign damit nicht kommentieren, sowas ist ja immer Abwägungssache. Wenn ich über die Tatsache, dass es einen Templatelistener "headIncludeJavaScript/javascriptInit" gibt, mal genauer nachgedacht hätte, hätte ich wirklich auch früher drauf kommen können. ^^


    Was ich noch nicht weiß, ist, wie ich zu einer Version dieses Templates gekommen bin, die ansonsten genau auf dem Stand von 5.3.9 ist, aber in der genau dieser entsprechende Abschnitt zwischen <script> und </script> fehlt. Denn, wie ich inzwischen festgestellt habe, aus einer älteren Version der Software kann dieses tpl-File auch nicht kommen, weil sich in den letzten Versionen immer auch auch der vorhandene Teil geändert hat. Sehr mysteriös. Wir haben das Forum kurz davor in mehreren Schritten direkt nacheinander, wie im Handbuch empfohlen, von 4.1 auf 5.3 hochgezogen.

  • Was ich noch nicht weiß, ist, wie ich zu einer Version dieses Templates gekommen bin, die ansonsten genau auf dem Stand von 5.3.9 ist, aber in der genau dieser entsprechende Abschnitt zwischen <script> und </script> fehlt.


    Ich vermute mal das hier.





    Gruß norse