Yii - wie man Modelldaten in eine Layoutseite zurückholt?

7

Ich möchte einige Kategorien auf meiner Layout-Seite main.php auflisten. Da das Layout keinen zugeordneten Controller oder Modell hat, möchte ich eine statische Methode wie diese im Category-Modell erstellen:

%Vor%

und dann im Hauptlayout

%Vor%

Meine Frage ist sehr einfach: Wie kann ich diese Kategorienamen aus dem Modell abrufen?

Hier ist das vollständige Modell:

%Vor%     
MEM 08.12.2011, 22:34
quelle

2 Antworten

19

Vielleicht kann diese Antwort Ihnen helfen. Zuerst müssen Sie ein Widget erstellen, damit Sie es effektiver nutzen können.

Erstellen Sie zuerst ein neues Widget. Sagen wir, der Name ist CategoryWidget . Setzen Sie dieses Widget in das Komponentenverzeichnis protected/components .

%Vor%

Erstellen Sie dann eine Ansicht für dieses Widget. Der Dateiname lautet category.php.     Setzen Sie es unter protected/components/views

category.php

%Vor%

Dann rufen Sie dieses Widget aus Ihrem Hauptlayout.

main.php

%Vor%     
aslingga 09.12.2011, 09:52
quelle
6

Wenn ich mich nicht irre, können Sie auch jede in einer Ansicht verfügbare Variable an das Layout übergeben. Sie tun es einfach aus der Sicht, die Ihre Variable hat. Dies ist der Haken: Sie müssen die Variable, die Ihren Wert erhalten soll, im Controller wie folgt deklarieren:

%Vor%

Danach weisen Sie Ihr Modell oder was auch immer dieser öffentlichen Variable innerhalb Ihrer Ansicht zu, so:

%Vor%

Nachdem Sie Ihre Modelldaten dem öffentlichen Attribut des Controllers zugewiesen haben, Sie können es leicht in Ihrem Layout anzeigen, z. B.

%Vor%

Yii tut dies bereits, indem er dem Spaltenmenü sidebar Menüelemente aus der Ansicht wie folgt zuweist:

%Vor%

Sie können es in allen create / update Ansichten sehen, die gii crud erstellt.

    
tonino.j 05.11.2012 20:58
quelle

Tags und Links