Globale/ Portal Variable

  • Hallo,

    ich habe folgenden Konstellation:

    ich habe 2 Portlets. In dem einen sind 3 Links untereinandern aufgelistet. in dem anderen ist ein iFrame mit einer JSP-Seite eingebunden. Sobald ein Link geklickt wird verschwinded das Link-Portlet und es wird das iFrame-Protlet angezeigt.

    Wenn ich nun auf einen Link im Link-Portlet klicke so soll die URL vom iframe etwas abgeändert werden. Dies wollte ich mit einer Variabel (<tal:define="url_expr = standard") lösen, indem ich die Variable im onClick Ereigniss von <a href=""> ändere.

    Die Variable habe ich im main_template definiert. Das auslesen der Variable im portlet funktioniert. Doch leider kann ich den Wert der Variable nicht abändern. Wie muss ich da vorgehen um dies zu bewerkstelligen? Ich hatte es mit einem redfine veruscht (also einfach noch ein define im portlet) dies funktioniert leider nicht.

    TIA
    Grüße
    Seawolf

  • Komische Vorgehensweise...warum verwendest Du kein Javascript hierfür???

  • HI,

    gute Frage. Die Vorgehensweise schien mir erstmal die simpelste zu sein.

    Kann ich denn das Javascript direct in das main_template einbinden oder muss das über diese Script-Registryt gemacht werden?

    Danke für den Hinweis.

    Grüße
    Seawolf

  • HI,

    ok ich hab jetzt mal veruscht ein JS dafür anzulegen. Diese besteht aus 2 einfachen Methoden zum setzen und lesen der Variable. Das JS hab ich jetzt bei der JS-Registry hinzugefügt.

    Aber warum kann ich es nicht nutzen? hab mal folgenden aufruf probiert: <div name="getTestVariable()" />

    nur leider schreibt er den Funktionname direkt rein anstatt das JS zu verwenden.

    Ich denke der Aufruf ist falsch.

    Vlt. weis ja jemand wie ich es behebn kann.

    Danke schonmal.

    Grüße
    Seawolf-371

  • HI,


    Aber warum kann ich es nicht nutzen? hab mal folgenden aufruf probiert: <div name="getTestVariable()" />

    "Probieren" ist genau Teil des Problems.

    Obiger Code macht keinen Sinn - weder aus semantischer Sicht von HTML noch funktioniell. Was genau hast Du vor? Was soll der Code machen?
    Du musst schon mehr kohärente Details liefern.

  • Hi,

    vielen Dank erstmal für eure Antworten.

    Mein eigentlicher Beweggrund:

    Also ich habe in einem portlet einen IFrame. Dieser benötigt ja eine url und diese Url möchte ich abändern, indem ich in einem anderen Portlet diese Variable umsetze. Momentan hab ich es so gelöst, das ich die Links (welche die Variable setzen sollen) auf 3 verschiedene Seiten zeigen lasse, welche dann einen IFrame enthalten, die Urls des IFrame sind dann natürlich geringfügig unterschiedlich.


    TIA

    Seawolf