Labels Von Anderen Klassen Aufrufen

Hallo zusammen

Ich versuche gerade, in einem Formular der Klasse ‘Kunde’ Attribute einer anderen Klasse ‘Rechnung’ anzuzeigen (über Foreign-Keys).

Weiss jemand, wie ich die Labels einer beliebigen Klasse ansprechen kann, resp. wie ich vordefinierte Labels aufrufen kann? Da ich die Labels nicht statisch in die Page programmieren möchte, wäre es super, wenn ich das Label eines beliebigen Attributs einer beliebigen Klasse ausgeben kann.

Danke für eure Unterstützung.

Gruss

Cy

Also generell kannst du die Labels von Attributen auch über Relationen hinweg aufrufen. Z.B. als [font="Courier New"]rechnung.rechnungs_nr[/font]. Das klappt in CDetailViews, CGridViews und CActiveForms. Außerhalb dessen wäre sicherlich die CHtml.resolveName() Methode für dich interessant.

Hier ein ähnliches Beispiel (siehe Bild): Wir sind in dem Formular Rechnung und suchen einen zugehörigen Kunden…

Ich möchte die fetten Labels vom Modell auslesen und nicht hart coden, kann die Labels aber nicht über FKs ziehen, weil die Felder über das Feature Autocomplete ausgefüllt werden. Da es nicht alles nur Pflichtfelder sind, kann ich es auch nicht über die Funktion getLabel realisieren.

Hoffe du verstehst, was ich meine…

Gruss

Cy

Ehrlich gesagt … nein. Du weißt doch im vorraus, welcher Klasse das nachgeladene Modell ist, oder nicht?

Wenn ich vom Dropdown eine Auswahl treffe, werden über Autocomplete (unsichtbare) Felder (<span>-Tags) abgefüllt (im Beispiel der Firma "Meier Jörg").

Gibt es denn keine Funktion, mit welcher ich bestimmte Attribut-Labels von beliebigen Klassen abrufen kann?

Ich möchte lediglich die Labels "Firma", "Status", etc. von dem Modell laden, falls sich diese irgendwann einmal ändern sollten. Ich brauche eine Funktion wie getLabel(Klasse Kunden, Attribut firmenname)…

Sorry, falls ich mich soo unverständlich ausdrücke. :slight_smile:

Also soetwas wie CModel.getAttributeLabel()?

Ich frage mich allerdings gerade, wie du die besetehenden Labels erzeugst. Sind das alles fixe Strings?

Ja, genau so etwas, das funktioniert nämlich! :rolleyes:

Die bestehenden Labels sind eben fixe Strings.

Tausend Dank! ;) Bin leider noch nicht soo vertraut mit Yii und immer noch hart am Erfahrungen sammeln.

Gruss

Cy