Gepostet am:28.09.2009 18:28
#1
Status eines Block innerhalb einer dargestellten Seite?
28.09.2009 18:28 So eine ähnlich komplizierte Frage habe ich bereits auf xoops.org gestellt, aber keine zufriedenstellende Lösung bis jetzt gefunden/erhalten.
Hauptsächliches Problem sind die Blöcke, die ich innerhalb meines Moduls einsetze. 5 Blöcke davon nutzen denselben Javascript-Code (plus 2 Dateien des Moduls). Da ich (als Programmierer) nicht weiß, wo der Administrator der Webseite die Blöcke dargestellt haben will, bin ich mehr oder minder gezwungen dem Block jedes Mal die Javascript- und CSS-Dateien mitzugeben. Das hat zur Folge, dass Code mehrfach geladen wird und das hat weiterhin zur Folge, dass Javascript rumzickt.
Ich könnte es mir einfach machen und im readme zu schreiben, dass die und die Dateien mit in die theme.html eingebunden werden müssen. Das ist aber suboptimal, weil dann der Code immer mit eingebunden ist, auch wenn er nicht benötigt wird.
Der Versuch mit defines in den jeweiligen Dateien und die Abfrage if(defined...) hat nicht geklappt, weil die Reihenfolge wichtig ist, wie Blöcke und Inhalte gerendert werden. Das mit den defines klappt also nur teilweise.
Ich brauche also eine Art flag, womit angezeigt wird: ja, Javascript und CSS sind bereits geladen, also überspringe diesen Part. Anscheinend können Blöcke und Moduldateien untereinander nicht (oder nur partiell) miteinander kommunizieren.
Ich habe mir jetzt einen obskuren?? Weg programmiert und das Ganze über get_included_files gelöst. Dieser Array scheint immer zu funktionieren. Ich frage in jedem relevanten Block ab, ob eine bestimmte inkludierte Datei im Array vorhanden ist.
Ich frage mich: Gibt es nix Schöneres?
In der Hoffnung mich klar ausgedrückt zu haben, hoffe ich auf ein paar Hinweise.
... is gone with the wind ...