Zum Inhalt springen

Model mit Daten aus anderer Quelle erweitern

Erstellt am 29. Dezember 2013 · 3 Antworten · letzte Antwort am 3. Januar 2014

Tags: Frage

Freesh ·

Hi,

ich stehe gerade ein wenig auf dem Schlauch.

Ich möchte mein Model um Daten erweitern welche nicht aus der Datenbank kommen, aber von anderen Daten aus dem model anhängig sind.

Ich habe meinen Datensatz, welcher einen Wert enthält, dieser Wert gibt an welche Daten aus welcher Datei geladen werden sollen.

Die Daten in meinem Model sehen in etwa so aus:

Titel <- Automatisch aus Datensatz
Dateiname <- Automatisch aus Datensatz
DateiInhalt1 <- Soll anhand des Dateinamens aus der Datei geholt werden
DateiInhalt2 <- Soll anhand des Dateinamens aus der Datei geholt werden
DateiInhalt3 <- Soll anhand des Dateinamens aus der Datei geholt werden

Ich hatte versucht setDateiInhalt('bla') in der initialize Methode aufzurufen. Das funktioniert aber nur solange ich keine Daten aus dem selben Model mit übergeben muß.
Stark vereinfacht wäre das:

public function initializeObject()
{
    $fileData = \TYPO3\Extension\Utility\FileUtility::loadFileData($this->getDateiname());
    $this->setDateiInhalt1($fileData['dateiinhalt1']);
    $this->setDateiInhalt2($fileData['dateiinhalt1']);
    $this->setDateiInhalt3($fileData['dateiinhalt1']);
}

Funktioniert aber leider nicht, da $this->Dateiname() noch nicht verfügbar zu sein scheint.
Hat jemand evtl einen Tip wie ich mein Model unter Beachtung von $this->Dateiname() um Zusätzliche Daten aus einer anderen Quelle erweitern kann?

Gruß Björn 🙂

aemka ·

Hast du das schon mal im Konstruktor __construct() versucht? Da sollte $this auf jeden Fall vorhanden sein.

Freesh ·

Hi,

__construct() wird dort interessanter weise nicht ausgeführt. Weis nicht ob das jetzt generell so sein soll, oder ob das ein Problem meines 6.1er Systems ist. Daher hab ich dann auf initializeObject() zurück gegriffen. :-/
Hab jetzt überlegt das in alle zusätzlichen get Methoden zu legen und immer zu prüfen, ob die Daten bereits vorhanden sind. Schön ist das aber irgendwie nicht.