essages an widgets senden, die nicht geladen sind

Hallo Community,

ich mal wieder mit einer hoffentlich einfachen Frage. Ich habe zwei Portlets, UserMenu und UserLogin erstellt, wie es im Blog Tutorial erklärt war. Unsere Arbeitsvorgaben fordern, dass auf jeder Seite ein Logout Button verfügbar ist. Aber nicht auf jeder Seite soll es ein UserMenu bzw. ein UserLogin Portlet geben. Wir haben den Button per CHtml::linkButton implementiert und das funktioniert auch solange gut, wie das UserMenu Portlet auf der Seite eingebunden ist. Wenn es das nicht ist, läuft das logout command ins Leere. Für mich stellen sich mehrere Fragen:

Woher weiß die Applikation eigentlich, für welches Widget ein Command bestimmt ist? Oder wird es einfach allen Widgets mitgeteilt? Wie kann ich ein bestimmtes Command ausschließlich an ein bestimmtes Widget absetzen, egal ob bereits geladen oder nicht?

Vielen Dank für Rückmeldungen :-),

der Bergtroll

EDIT @ "Woher weiß die Applikation eigentlich, für welches Widget ein Command bestimmt ist? Oder wird es einfach allen Widgets mitgeteilt?"

  • Irgendwie bin ich auch blind, also im Tutorial wird ja einfach das POST Command durch das Widget, bzw. durch alle Widgets ausgewertet, die sich um das entsprechende command künmmern.

Bleibt nur noch die Frage, wie ich z.B. die statische Methode eines nicht geladenen Widgets und eben NUR diese aufrufen kann.