AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
20.09.20 - 10:36:23
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Domino 8 und frühere Versionen
| |-+  ND7: Entwicklung (Moderatoren: eknori, koehlerbv)
| | |-+  URL-Formel in Frame-Content-Definition abhängig von PATH_TRANSLATED?
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: URL-Formel in Frame-Content-Definition abhängig von PATH_TRANSLATED?  (Gelesen 8657 mal)
jww
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 180


« am: 27.09.15 - 11:19:10 »

Hallo und sorry, dass mal wieder eine Frage zum veralteten Notes 7 kommt ... vielleicht ist die aber sogar für neue Versionen ebenso interessant und gültig?

Aufgabe:
Ich möchte gerne die Inhalte eines Framesets je nach Aufruf unterschiedlich befüllen, dabei aber immer dasselbe Frameset benutzen.

Bisher habe ich das mit mehreren Framesets gemacht und <aufruf-name> in der Formel für die URL im jeweilgen Frame-Content je Frame angepasst:

Code:
__IndexName := "<aufruf-name>_TOP";
"/" + @WebDbName + "/$index/" + __IndexName + "?OpenDocument"


Ich würde nun gerne nur noch ein Frameset haben, und die o.g. Formel "dynamisieren", also auf Basis von PATH_TRANSLATED berechnen lassen, etwa so:


Code:
__PREFIX := @Subset( @Explode( PATH_TRANSLATED; "/");-1);
__IndexName := __PREFIX + "_TOP";
"/" + @WebDbName + "/$index/" + __IndexName + "?OpenDocument"


Frage:
Wie komme ich in einer Frame-Formel an die PATH_TRANSLATED - Info?
Gespeichert

Notes ist klasse - und ab und an zum auf den Mond schiessen.
jww
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 180


« Antworten #1 am: 30.09.15 - 00:26:36 »

Ich antworte mir mal selbst .. nach einigem suchen habe ich folgende Lösung, vielleicht hilft sie mal jemand:

1.) Man muss dem Frameset bzw. Domino beim Aufruf einen (weiteren) Parameter "mitgeben", das kann dadurch geschehen, dass man dem Aufruf ein

"&<content-index>"

hintenanstellt (nach "?OpenFrameset"). Ich mache das durch ein Site-Rule Dokument, indem ich z.B. von der URL "H2" (für Homepage 2) auf /<db>/<frame_set_name>?OpenFramenset&<index> um-mappe.

2.) In der Frame-Definition nutzt man @UrlQueryString aus, um den <index> Parameter zu extrahieren und dann "irgendwie" in den gewünschten Inhalt substituiert.

Ich habe das so gelöst, dass ich für fünf Frames einfach willkürlich die Frame-Namen "top", "body", "menu_top", "menu_bot" und "menu_mid" vergeben habe. Der Code sieht dann, z.b. für den Hauptframe (den "body") so aus:

Code:
__Frame_IndexName := "_body";
__FrameSet := "__FS02_";
__Query := @Subset( @Trim( @Replace( @UrlQueryString ; "OpenFrameset"; "" ) ); 1);
"/" + @WebDbName + "/$index/" + __FrameSet + __Query + __Frame_IndexName + "?OpenDocument"

Für den mittleren Menü-Frame so:
Code:
__Frame_IndexName := "_menu_mid";
__FrameSet := "__FS02_";
__Query := @Subset( @Trim( @Replace( @UrlQueryString ; "OpenFrameset"; "" ) ); 1);
"/" + @WebDbName + "/$index/" + __FrameSet + __Query + __Frame_IndexName + "?OpenDocument"

aus und so fort. Man muss quasi nur je Frame die Formel anpassen, alles andere geht aus dem Aufruf hervor.

Anmerkung:
Das @Replace auf "OpenFrameset" habe ich gemacht, um in jedem Falle an erster Stelle den Parameter für die Inhalte anzutreffen, denn man kann ja (theoretisch) auch die DB mit Framesetnamen aufrufen, ohne ?OpenFrameset anzugeben.
Gespeichert

Notes ist klasse - und ab und an zum auf den Mond schiessen.
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: