[TYPO3-german] TCA: Wert einer Select-Box als label des Datensatzes

Frank Gerards F.Gerards at esolut.de
Mon Jan 23 11:45:56 CET 2012


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: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Bernd Wilke
Gesendet: Montag, 23. Januar 2012 11:16
An: typo3-german at lists.typo3.org
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
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


More information about the TYPO3-german mailing list