MyXoops Forum

Aw:: Status eines Block innerhalb einer dargestellten Seite? [Entwicklung allgemein] - myXOOPS German Support

frankblack

"myXOOPs"-Profi
Gepostet am:30.09.2009 11:04
frankblack
frankblack Offline (Show more)
"myXOOPs"-Profi
Posts: 747
Since: 19.04.2006
#7

Aw:: Status eines Block innerhalb einer dargestellten Seite?

Tut es auch nicht! Die im Block definierte Variable kann ich ausgeben, die in der Moduldatei definierte Variable nicht.

ghia auf xoops.org meinte, dass es mit der Reihenfolge zusammenhängt in der die Skripte abgearbeitet werden.

Hilft mir nur nix. Modulentwickler können/sollen den Themeentwicklern nicht vorschreiben, in welcher Reihenfolge die Inhalte gerendert werden.
... is gone with the wind ...

alfred

Administrator
Gepostet am:29.09.2009 18:30
alfred
alfred Offline (Show more)
Administrator
Posts: 7618
Since: 06.12.2004
#6

Aw:: Status eines Block innerhalb einer dargestellten Seite?

experimeniere mal mit $GLOBALS

Advertisement

Gepostet am:0
Advertisement (Show more)
Posts: 0
Since: 0


Hier könnten Sie Ihre Anzeige aufgeben!
Bitte kontaktieren Sie uns, um mehr darüber zu erfahren.

frankblack

"myXOOPs"-Profi
Gepostet am:29.09.2009 15:40
frankblack
frankblack Offline (Show more)
"myXOOPs"-Profi
Posts: 747
Since: 19.04.2006
#5

Aw:: Status eines Block innerhalb einer dargestellten Seite?

Habe es jetzt auch mit den defines hinbekommen. Rein zufällig, da get_included_files nur bei einer Datei funktioniert hat und bei der anderen nicht.

Wenn ein define-Flag in einem Block gesetzt wird, dann kann dies ruhig in der Funktion geschehen. Wenn ein define-Flag in einer Moduldatei gesetzt wird, dann muss dies BEVOR xoopsroot / header.php eingebunden wird.

Hätt mir ja mal einer vorher sagen können!

KÄSEKUCHEN: oben genannte Vorgehensweise klappt nur mit einem Block. Ein Block der danach kommt, kennt das define vom vorherigen Block nicht mehr. Naja, wat soll et...
... is gone with the wind ...

frankblack

"myXOOPs"-Profi
Gepostet am:29.09.2009 08:49
frankblack
frankblack Offline (Show more)
"myXOOPs"-Profi
Posts: 747
Since: 19.04.2006
#4

Aw:: Status eines Block innerhalb einer dargestellten Seite?

Die erwähnten 5 Blöcke benutzen alle die jquery fancybox um die Player innerhalb der Seite darzustellen, also muss ich das gleiche Javascript verwenden.

Wenn ich das gleiche Javascript mehrfach laufen habe, gibt es so lustige Effekte wie verdoppelte divs bei dem Fenster, die sich auch noch genau über den Inhalt legen.

Ab 2.4 gibt es ja die Möglichkeit über addScript die Skripte an die Datei-URL zu hängen, bringt mich aber nicht nach vorn, da auch hier die gleichen Skripte mehrfach eingebunden werden.

Es fehlt also ein blockübergreifendes Flag über das die Blöcke und Moduldateien Informationen austauschen können.

Wie gesagt: get_included_files ist bis jetzt die einzige Möglichkeit die ich gefunden habe, die global funktioniert. Über Sessions und Cookies wüsste ich jetzt auch nicht, wie ich mein Problem lösen könnte.
... is gone with the wind ...

studioc

"myXOOPs"-Profi
Gepostet am:28.09.2009 19:41
studioc
studioc Offline (Show more)
"myXOOPs"-Profi
Posts: 967
Since: 27.12.2004
#3

Aw:: Status eines Block innerhalb einer dargestellten Seite?

joachim, blöde Nachfrage eines Nichtprogrammierers: wenn der webmaster deine 5 blöcke nun auf der Startseite zeigen will (also ohne, das Du die Möglichkeit hast, üder den modulheader in die theme.html zu schreiben), du also quasi 5 mal das gleiche js laden lässt, wird das denn dann eh' nicht nur 1 mal ausgeführt (für alle blöcke)? Oder werden Pfade per js übergeben? Kannst Du nicht einfach für jeden Block ein "eigenes js" will sagen eine block1.js, block2.js, blockx.js laden? Ist dieses "x" nicht über eine smarty zu ersetzen block< { bxID } >.js und/oder kann das js nicht nach diesem Schema dann "generiert" werden, wenn die jew. Blöcke aktiv sind? Grundsätzlich hasse ich ja js- aber vorallem css-Lade-aufrufe innerhalb des < body > weswegen ich grundsätzlich nix dagegen hätte, im Zweifelsfall eine readme zu lesen
XOOPSFACTORY.COM - my XOOPS playground

feichtl

Ehrenmitglied
Gepostet am:28.09.2009 19:37
feichtl
feichtl Offline (Show more)
Ehrenmitglied
Posts: 2650
Since: 11.06.2004
#2

Aw:: Status eines Block innerhalb einer dargestellten Seite?

Im ersten Augenblick dachte ich an "extgallery", weil das Modul auch Blöcke mit Javascript verwendet. Mir ist aber dann auch gleich eingefallen, das für die korrete Funktion dieser ganzen Effekte die Einbindung der "mootools" in die theme.html nötig ist.

Möglicherweise wirst du da doch nicht rum kommen. Ich hab zumindest keine bessere Idee.

frankblack

"myXOOPs"-Profi
Gepostet am:28.09.2009 18:28
frankblack
frankblack Offline (Show more)
"myXOOPs"-Profi
Posts: 747
Since: 19.04.2006
#1

Status eines Block innerhalb einer dargestellten Seite?

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 ...
Diesen Thread durchsuchen:  1 Anonyme Benutzer

Aktuell aus dem Forum

Forum Thema Antworten Views Letzter Beitrag
OffOffTopic [Wichtig] Übernahme myXOOPS 0 494 11.12.2023 18:57
alfred Gehe zum letzten Beitrag
Die Installation und Administration von XOOPS 2.5.X [Offen] Upgrade 2.5.11 3 2208 07.05.2023 07:03
Goffy Gehe zum letzten Beitrag