Kommando zurück :), jetzt funktionierts :),
die Lösung:

statt array('Bitte wählen sie aus:' ,0) muss man array('Bitte wählen Sie aus:', 
) bzw. einen beliebigen Wert AUSSER 0 setzen.
Vielleicht hilft's dem einen oder anderen.

Gruß
Frank


-----Ursprüngliche Nachricht-----
Von: [email protected] 
[mailto:[email protected]] Im Auftrag von Frank Gerards
Gesendet: Montag, 23. Januar 2012 11:46
An: German TYPO3 Userlist
Betreff: [TYPO3-german] TCA: Wert einer Select-Box als label des Datensatzes

Hi list,

ich steh grad auf dem Schlauch:

Die Property "bezeichnung" wird bei mir aus einem type=select dropdown-Feld im 
TCA befüllt, um dem User nur bestimmte Werte vorzugeben.
Der entspr. TCA Ast sieht so aus:

'bezeichnung' => array(
                        'exclude' => 0,
                        'label' => 
'LLL:EXT:<myext>/Resources/Private/Language/locallang_db.xml:tx_<myext>_domain_model_<mymodel>.bezeichnung',
                        'config' => array(
                                'type' => 'select',
                                'items' => array(
                                        array('Bitte wählen Sie aus:', 0),
                                        array('Wert1', 'Wert1'),
                                        array('Wert2', 'Wert2'),                
                                
                                ),
                                'size' => 1,
                                'maxitems' => 1,
                                'eval' => 'required'
                        ),

In der DB-Tabelle steht folgerichtig "Wert1" bzw "Wert2" im Feld "bezeichnung".

Nun möchte ich als Label im Backend diesen Wert ausgeben, der entspr. Eintrag 
in der ext_tables.php lautet:

$TCA['tx_esolutpdb_domain_model_<mymodel>'] = array(
        'ctrl' => array(
                'title' => 
'LLL:EXT:esolutpdb/Resources/Private/Language/locallang_db.xml:tx_esolutpdb_domain_model_<mymodel>',
                'label' => 'bezeichnung',
                'tstamp' => 'tstamp',
                'crdate' => 'crdate', ...

Leider erhalte ich als Label aber nur "Bitte wählen Sie aus:", egal welcher 
Wert im DB-Feld steht.
D.h. TYPO3 nimmt den Default-Wert aus der tca.php und nicht den eigentlichen 
Datenbank-Eintrag.

Warum ist dies so und wie kann ich das Verhalten ändern ? Die Core-Doku hat da 
nichts hergegeben...

Thx 4 info,
Frank

-----Ursprüngliche Nachricht-----
Von: [email protected] 
[mailto:[email protected]] Im Auftrag von Bernd Wilke
Gesendet: Montag, 23. Januar 2012 11:16
An: [email protected]
Betreff: [TYPO3-german] Re: Re: Wie mit Extension-Template einen Teil des 
Haupt-Templates überschreiben?

On 01/23/2012 10:43 AM, Björn Pedersen wrote:
> Am 23.01.2012 10:16, schrieb Peter Kühnlein:
>> Moin Liste und eine schöne neue Woche,
>>
>> meine Frage ist wahrscheinlich total trivial. Ich habe in meinem 
>> TS-Setup eine Slideshow eingebunden, auf jeder Seite wiedergegeben wird.
>> Und zwar so:
>>
>> # Slideshow konfigurieren
>> # ***********************
>> lib.slide>
>> lib.slide = RECORDS
>> lib.slide {
>> [alles wie oben, bis auf die letzte Zeile]
>>    source = 195
>> }
>> temp.mainTemplate.subparts.marquee>
>> temp.mainTemplate.subparts.marquee<  lib.slide
>>
>
> Das "temp" könnte das Problem sein.  Denn die temp-objekte werden nach 
> Ende des templates gelöscht.

nicht am Ende des Templates (in dem sie definiert werden), das wäre schlimm.
Am Ende des gesamten Typoscript-Scans.
Problematischer dürfte das Kopieren (statt Referenzieren) sein:

Alle Typoscript-Konfigurationen werden in der Reihenfolge bgearbeitet, wie sie 
auftreten und so auch ein Kopieren:
'temp.mainTemplate.subparts.marquee<  lib.slide'
Wenn danach lib.slide modifiziert wird bekommt 
temp.mainTemplate.subparts.marquee nichts davon mit.
in diesem Fall dürfte es aber eher das kopieren von 
temp.mainTemplate.subparts.marquee in page. ... sein.

also wird es alles einfacher, wenn ich statt kopieren ('<') Referenzen
('=<') benutze?
auch nur bedingt:
Hier kommt dann tatsächlich zum Tragen, dass temp-Objekte am Ende des 
Typoscript-Scans gelöscht werden.
Dann wird nämlich die bis dahin erstellte PHP-Struktur abgearbeitet (und in der 
existieren keine temp-Objekte mehr: Referenzen auf temp. ... 
zeigen ins Leere.

> Am einfachsten mit dem TS Object browser mal das richtige objekt suchen.

Das, bzw. im TemplateAnalyzer mal die Gesamtansicht ansehen und dort die 
Reihenfolge der Kopien und Modifikationen betrachten:
gerade bei geschachtelten Templates (bzw. noch mehr: 
Extension-Templates) ist die Reihenfolge doch anders als man vielleicht 
vermutet und Modifikationen von Objekten/ besonders temp.-Objekten haben nach 
dem Kopieren keine Auswirkungen auf das Endergebnis.


bernd
--
http://www.pi-phi.de/cheatsheet.html
_______________________________________________
TYPO3-german mailing list
[email protected]
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
[email protected]
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
[email protected]
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an