[TYPO3-german] FLUID Template Variable leer bei gemappten Domain Model

David Gurk dgurk at medienwerft.de
Wed Aug 28 08:51:32 CEST 2013


[Problem gelöst]
Tja, was soll man dazu sagen. Ich habe den wirklich dummen logischen Fehler gefunden. Und damit hier nicht nur die Frage zurückbleiben soll, sondern auch die Lösung, hier einmal der Grund.

Zitat:
" Mache ich folgende Debugausgabe...
<f:debug>{example.otherexample}</f:debug>
<f:debug>{example.otherexample.name}</f:debug>

... bekomme ich einmal für ein "Tx_Extbase_Persistence_ObjectStorage" mit den zu erwartenen Eigenschaften, und für das zweite Debug einfach nur "NULL" zurück."
Zitat ENDE.

Dem Model "Example" soll man nur EIN " OtherExample1" zuweisen können. Und dementsprechend ist das Model "Example" bei mir falsch konfiguriert. Es muss kein "Tx_Extbase_Persistence_ObjectStorage" sein, sondern soll direkt das verknüpfte Model enthalten. So ist es falsch:
/**
 * otherExample1
 *
 * @var Tx_Extbase_Persistence_ObjectStorage<Tx_Example_Domain_Model_OtherExample1>
 */
protected $otherExample1;

Der einzig richtige Weg ist in meinem Fall:
/**
 * otherExample1
 *
 * @var Tx_Example_Domain_Model_OtherExample1
 */
protected $otherExample1;

Und schön lässt sich alles ganz normal auslesen. =)

-----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von David Gurk
Gesendet: Montag, 26. August 2013 10:44
An: 'TYPO3-german at lists.typo3.org'
Betreff: [TYPO3-german] FLUID Template Variable leer bei gemappten Domain Model

Hi,

ich habe folgendes Konfiguration unter TYPO3 v4.7:

Im Backend kann bei ein Objekt "Example" über einer Selectbox ein Objekt "OtherExample" aus einer anderen Extension ausgewählt werden.

Also gibt es ein Model "Example":

-          Uid

-          Name

-          Infotext

-          Ausgewähltes "OtherExample1", dieses beinhaltet:

o   Uid

o   Name

o   Bild

Für das TCA ist folgendes eingestellt:
[...]
'otherexample' => array(
                'exclude' => 0,
                'label' => 'LLL:EXT:andereExtension/locallang_db.xml:tx_andereextension_domain_model_otherexample.name',
                'config' => array(
                               'type' => 'select',
                               'foreign_table' => 'tx_andereextension_domain_model_otherexample',
                               'foreign_table_where' => 'ORDER BY name ASC',
                               'items' => array(
                                               array('LLL:EXT:andereExtension/locallang_db.xml:tx_andereextension_domain_model_otherexample.name.0', 0),
                               ),
                               'size' => 1,
                               'maxitems' => 1,
                ),
),
[...]

Ich habe ein Model "Tx_ExampleExtension_Domain_Model_Otherexample" angelegt, welches das Model "Tx_AndereExtension_Domain_Model_Otherexample" erweitert.

Im TypoScript ist es wie folgt gemappt:
config.tx_extbase {
    persistence {
        classes {
            Tx_ExampleExtension_Domain_Model_Otherexample {
                mapping {
                    recordType = Tx_AndereExtension_Domain_Model_Otherexample
                    tableName = tx_andereextension_domain_model_otherexample
                }
            }
        }
    }
}

Nun kann ich im Template, welches die Models "Example" darstellt per <f:debug>{example.otherexample}</f:debug>  mir das verknüpften "OtherExample" ausgeben lassen. Es wird dort korrekt die Eigenschaften des "OtherExample" ausgeben.

Nun aber das eigentliche Problem. Obwohl ich bei Debug die Werte zurückerhalte, kann ich nicht die Eigenschaften vom "OtherExample" auslesen. Als Beispiel:

{example.otherexample.name} ist einfach leer.

Mache ich folgende Debugausgabe...
<f:debug>{example.otherexample}</f:debug>
<f:debug>{example.otherexample.name}</f:debug>

... bekomme ich einmal für ein "Tx_Extbase_Persistence_ObjectStorage" mit den zu erwartenen Eigenschaften, und für das zweite Debug einfach nur "NULL" zurück.

Ich bin gerade etwas überfragt. Hat hier jemand eine Idee, woran es liegt?

Viele Grüße

David



_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


More information about the TYPO3-german mailing list