Domino 9 und frühere Versionen > ND6: Entwicklung
Maskenproblem
datenbanken24:
Hallo Haage,
in Deinem Fall brauchst Du nicht mal einen URL-Parameter,
da Du das direkt am Hostname abhängig machen kannst.
Erstell Dir im Kopf Deiner Maske ein unsichtbares Feld, Text, computed for display,
mit dem Namen:
HTTP_HOST
Als Berechnungsformel ebenfalls HTTP_HOST
In Deinem Fall geht es ebenfalls mit einem Feld namens:
Server_Name
Als Berechnungsformel ebenfalls Server_Name
Diese Felder sind Standardfelder von Notes, die über Ihren Namen die Eigenschaft haben,
CGI Variablen auszulesen.
Dort steht dann beim Aufruf der Maske automatisch z.B.: "srv-07.ec.de" drin.
Jetzt mußt Du nur noch Deine computed subform von diesem Feld abhängig machen,
z.B.:
@If(
@Contains(Server_Name ; "srv-06");
"teilmaske1"
@Contains(Server_Name ; "srv-07");
"teilmaske2"
"teilmaskedefault"
)
Gruß,
Uwe
Haage:
Sorry habe einen Denkfehler gemacht. ich greife auf den selber Server zu also 07, aber komme einmal von www.Test\de\_home.htm und einmal von www.Inter\de\_home.htm. also nicht zwei verschiedene Server. Ist es dann denn ähnlich oder womöglich gleich?
datenbanken24:
DANN ist es natürlich was anderes - aber wiederum der gleiche Fall wie bei Johann,
also die Antworten #7 und #8.
ABER:
Das ganze funktioniert nur, wenn man direkt auf das Dokument zugreift,
so wie das bei Johann beschrieben war...
Und das ist ja in der Praxis meist nicht der Fall.
Sondern man gelangt ja meist erst auf die Datenbank oder auf eine Ansicht
und öffnet daraus erst das Dokument.
Und damit nützen die URL-Parameter, die man beim Aufruf der Datenbank oder der Ansicht mit übergeben hat, nix mehr. Denn ehe man dann nach zwei bis drei weiteren Klicks das Dokument aufruft, hat sich der Referer geändert und auch der URL-Parameter ist weg.
Und das sind dann leider keine "zwei Zeilen" Programmierung mehr...
In diesem Fall müßte man entweder den URL-Parameter durch alle weiteren Klicks mit "durchschleifen" (sehr kompliziert, wenn es sich um Ansichten handelt) oder beim ersten Aufruf der nsf-Datenbank sofort den Parameter/Referer auslesen und einen Cookie setzen, den die Maske dann irgendwann, wenn sie dann endlich geöffnet wird, ausliest und sich danach verhält.
Das ist dann aber sehr schwer mit zwei Sätzen in einem Forum zu erklären, an dieser Stelle würde dann eher eine Dienstleistung anfangen.
Gruß,
Uwe
Johann:
--- Zitat von: datenbanken24 am 17.11.05 - 18:30:49 ---Hallo Johann,
wenn ich Dich richtig verstehe,
greifst Du von zwei verschiedenen Startpunkten im Web jeweils auf GENAU DIE GLEICHE DATENBANK, DAS GLEICHE DOKUMKENT (und damit auf die GLEICHE MASKE) zu...
Wenn dem so ist, kannst Du an der Maske natürlich viel ändern, es wird dann aber eben immer für beide Aufrufe gleichermaßen geändert.
Wenn dem so ist, kommst Du eigentlich um einen URL-Parameter beim Aufruf oder um die Abfrage nach dem Referer nicht herum.
Ein URL Parameter oder der Referer (falls der konstant ist) kann dann beim Öffnen von Deiner Maske ausgelesen werden und "sagt" dann der Maske, woher der Aufruf kommt.
Danach kann sich dann die Maske richten und einen dynamischen onLoad Background oder ein unterschiedliches Stylesheet laden.
Ein exaktes Beispiel wirst Du aber in der Notes-Hilfe dafür nicht finden.
Stichwörter für die Hilfe wären, @URLQueryString, Referer (CGI Variable), HTML Body Attribut der Maske.
Das geht also mit @Formeln, auch ohne LotusScript.
Gruß,
Uwe
--- Ende Zitat ---
Wie kann sowas denn aussehen?
m3:
Hübsch? ;D
(Sorry, das konnte ich mir nicht verkneifen).
Johann, Uwe hat Dir schon so weit wie möglich geholfen. Wenn Du von hier nicht alleine weiterkommst, steht er Dir gegen einen Obulus sicherlich gerne mit Rat & Tat zur Seite. Oder stell konkretere Fragen.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln