CakePHP: $displayField funktioniert nicht innerhalb von Plugins?!

Es existiert eine $belongsTo-Beziehung, angenommen zwischen einem Impressum und einem Buch. Das Impressum-Model wurde also entsprechend mit dem $belongsTo-Attribut beschrieben. Nun soll ein neues Impressum eines Buches angelegt werden und dafür soll bpsw. nicht der Buchname aus dem Buch-Model, sondern die ISBN-Nummer als Referenz herangezogen werden. Also bekommt das Buch-Model das Model-Attribut $displayField = ‘isbn’. Das scheint aber nicht zu funktionieren. Wenn jemand weiß warum nicht, dann bitte kommentieren! Ich freue mich auf antworten! Bis dahin kann man das natürlich umgehen, indem man das $displayField-Atribut unmittelbar vor dem Aufruf im Controller zur Laufzeit setzen lässt:

#innerhalb des impressum controller
$this->Impressum->Buch->displayField = 'isbn';
$this->set('buch',$this->Impressum->Buch->find('list');

Das Ganze findet innerhalb eines Plugins statt. Nennen wir das Plugin “Bibliothek”…Muss man hier etwas beachten?

Das erdachte Szenario möge man mir verzeihen. Es geht hier nur ums Prinzip ;-)

 

Die Lösung ist gefunden!

Näheres dazu und ergänzt um virtuelle Felder im Blog “CakePHPDoku”