Variable In Mehreren Views Verwenden

Hallo,

da ich das Framework vom Aufbau her nicht wirklich verstehe, eine Anfängerfrage:

Ich möchte eine etwas komplexeres Array das ich in mehreren Views verwende, in einer Variablen speichern.

Wo lege ich diese Variable ab, damit ich sie in jedem View verwenden kann?

Generell, wo definiere ich eigene Variablen oder Methoden, die dann im ganzen Projekt verwendet werden können.

Wo kann ich eigenen PHP Code inkluden?

Bitte um Nachsicht. Danke für jede Hilfe.

Bin auch noch Anfänger.

Wie meinst du das mit der Variablen? Wie wird die denn befüllt, wo kommt die her? Prinzipiell sollte doch alles im Model sein. Und wie meinst du das mit mehreren Views? Du kannst ja vom Controller in jede View alle möglichen Daten übergeben. Das weißt du, oder?

Danke für die Antwort.

Ich brauche die Variable in mehreren Controllern.

Konkret: Ich habe da ein Konfigurations Array, das ich in mehreren Views brauche. Dieses Array möchte ich in einer Variablen $viewDialog speichern.




$viewDialog = array('controllerRoute'=>'/noten/view',

     'actionParams' => array('id' => '$data->primaryKey'),

     'dialogWidth' => 650,

     'dialogHeight' => 450,

     'dialogTitle' => 'Datensatz anzeigen',

     'closeOnAction' => true,

     'closeButtonText' => 'Fenster schliessen',

     'refreshGridId' => 'noten-grid',

)

Wo kann ich diese Variable definieren, sodass sie in jeder View oder in jedem Controller verwendet werden kann.

Ohne Yii würde ich das in eine PHP Datei schreiben und includen …

Also, wenn ich das hier so sehe:

http://www.yiiframework.com/wiki/126/setting-and-getting-systemwide-static-parameters/

dann könntest du in protected/config/main.php einfach die Konfiguration hinterlegen. Dann hättest du sie per Yii::app()->params[$yourConfigurationKey]

überall zur Verfügung. Würde das so gehen? Habe es mir jetzt nicht ganz genau angeschaut…

Ok, das wäre grundsätzlich der richtige Ansatz, denke ich.

In meinem Fall hat es aber nicht funktioniert, da ich für dieses Array


Yii::app()->user->isGuest

brauche. Diese Eigenschaft steht aber anscheinend noch nicht zur Verfügung, wenn protected/config/main.php ausgeführt wird … :rolleyes:

Ich bin jetzt auf folgende Idee gekommen:

Ich habe in protected/components/Controller.php eine Funktion definiert, die mir das gewünschte Array zurückgibt. Das funktioniert. Diese Funktion kann ich überall im Projekt verwenden.