Hat jemand einen Tip für mich, wie man in einem Frameset die Pages anordnet, damit man ein vernünftiges, dynamisch generiertes Menu erhält? Mein Menu soll in einem linken Frame erscheinen, der Inhalt in einem rechten Frame. Das Temlate mit der Definition des Framesets und der Frames samt Starseiteninhalte steht bereits, nun fehlen die Folgeseiten. Wie und wo lege ich die am besten an? Danke!
Tip für Menu beim Frameset?
Hallo,
wenn Du die Testsite auf deiner Installation hast, schau Dir mal das Template von "Another Site ..." im Template Analyser an. Dort ist alles schon gelöst, inklusive Menüs und targets etc. Wenn nicht, probiere mal, das Static-Template "frameset: left-page" einzubinden, um zu sehen, wie das funktioniert. Ebenfalls im Template-Analyser kannst Du den kompletten Code dieses Templates sehen, inklusive der Target-Definitionen etc. Vielleicht kannst Du die entsprechenden Stellen dann einfach kopieren oder leicht abwandeln.
hth
Gruß
Andreas Schwarzkopf
http://www.meinsystem.de
Hallo,
Hm, vielleicht versteh ich das ganze Temlate-System noch nicht richtig... Jedenfalls ist mir bei dem angesprochenen Beispiel nicht klar, wo die Frameset-Def., das Menu etc. zu finden sind. Ich hab mir das entsprechende Template "Example template for another site" angeschaut und nichts dergleichen darin gefunden. Wenn man sich die dazugehörigen Seiten anschaut (Another site.., Lists, ...) dann sind das ja nur die Inhaltsseiten im rechten Frame. Kann mir jemand sagen, was ich da noch grundsätzlich falsch verstehe? Danke!
In dem Beispiel "Another.." ist das Static Template "Business" eingebunden, welches wiederum das Static Template "frameset; left-page" benutzt. Wenn Du nach Web->Template die "Antother Site.."-Seite anklickst, danach rechts oben den Template Analyzer auswählst, siehst Du die komplette Struktur der verwendeten Static-Templates. Beim klicken auf "frameset; left-page" kannst Du jetzt die Frameset-Definition sehen, mit zwei Frames: left und page. Klickst Du jetzt auf das Template "Business", dann siehst Du unter anderem die Menüdefinitionen (left.100 < temp.leftmenu). Der Inhalt des rechten Inhaltsframes wird in dem Bereich mit page.. definiert.
In der Ansicht Web->List kannst Du natürlich nur die Seiteninhalte vom rechten Frame sehen, die im Template dem page-Bereich zugeordnet werden. Und der linke Frame wird mit dem automatisch generierten Menü gefüllt. Natürlich musst Du vorher Unterseiten von deiner Startseite anlegen, sonst erscheint im Menü nichts.
Ich hoffe, es ist jetzt einigermaßen verständlich erklärt.
Gruß
Andreas Schwarzkopf
http://www.meinsystem.de
Hi,
herzlichen Dank erstmal für die ausführliche Erklärung. Die einzelnen Templates habe ich jetzt gefunden (Wie war das noch gleich mit dem blinden Huhn? 🙂)
Soweit so gut. Ich habe meine Frameset-Definition und die Definition der Pages direkt in das Template geschrieben. Dürfte ja keinen Unterschied machen, oder? Nur lädt sich jetzt bei jedem Klick wieder der gesamte Frameset, was ja auch klar ist, da in den Unterseiten dasselbe Template benutzt wird. Bei der "Another..." ist aber auch nur ein einziges Template definiert für alle Unterseiten, trotzdem erhält man beim Anzeigen der Seiten im rechten Fenster des Backend nur die Inhalte der page zu sehen - und so sollte es ja auch sein. Wahrscheinlich wieder mal eine reichlich dumme Frage...
Hallo,
Du kannst natürlich die beiden Statics in Dein Template komplett kopieren, dann wird das ganze etwas kompakter, da auf einem Platz.
Welcher Frame beim klicken auf einen LInk im linken Frame geladen werden soll, kannst Du so angeben:
frameset.frameSet {
params = {$_stdFramesetParams}
cols = {$leftFrameWidth},*
1 = FRAME
1.obj = left
1.target = page //nur der Inhaltsframe
...
}
Überprfüfe bitte, ob Du auch die globalen Target-Definitionen übernommen hast:
Constants:
PAGE_TARGET = page
content.pageFrameObj = page
Setup:
config.intTarget = {$PAGE_TARGET}
Die Targets können auch in den einzelnen menüs angegeben werden, wenn die von den globalen abweichen sollen.
Viel Spaß
Andreas
Hallo,
Jaaaa! jetzt geht's! Hatte die globalen Target-Definitionen nicht drin. Danke!