Zum Inhalt springen

zu tt_news hinzugefügte DatabaseRelation zeigt im BE nur [Kein Titel]

Erstellt am 21. November 2006 · 3 Antworten · letzte Antwort am 21. November 2006

Tags: TCA, tt_news, Frage

g1zmo ·

Hallo zusammen,

ich schreibe an einer kleinen Erweiterung, die es mir erlauben soll an tt_news "In Verbindung stehende Kalendar-Einträge" anzuhängen. (calendar base um genau zu sein)
Das klappt auch schon recht gut. Nur wird mir im BE nach dem auswählen der Datensätze in der Box [Kein Titel] angezeigt.
Auf einem Testrechner (Typo3 4.02, aktuellste tt_news dev Version) klappt es so halbwegs, aber da stehen dann ",start_date, start_time,title" der jeweiligen cal Einträge drin.
Auf der eigentlichen Plattform läuft noch Typo3 3.8.0 mit diversen "Hacks", und auf einem zweiten Testsystem läuft 4.0.
Bei beiden steht nach dem Auswählen nichts in der Box, und nach dem speichern steht dort [Kein Titel]
Die Frontend-Ausgabe funktioniert, in der Datenbank stehen die richtigen ids der Kalendareinträge drin. Wie krieg ich es also hin, dass dort die Titel der Einträge zu sehen sind, und sonst nichts? Konnte der Core Api da nichts entnehmen, und auch ein Hinweis von hier, dass der erste Textwert für die Anzeige genommen wird, hat nicht viel gebracht. Die Datumsanzeigen sind int(11)?

Wär toll, wenn mir da jemand auf die Sprünge helfen könnte...

MfG,
Andreas

edit: auf dem "funktionierenden" Rechner kann ich in dem Feld so wie es sein soll auf andere Datensätze verweisen. pages, tt_news, tt_content, klappt da alles wunderbar. Nur bei cal zickt die Anzeige so rum?

g1zmo ·

Hm, ich antworte mir mal selbst:

Dieser Eintrag in der ext_tables.php der cal Extension ist für die fehlerhafte Darstellung verantwortlich:

$TCA['tx_cal_event'] = Array (
	'ctrl' => Array (
		'requestUpdate' => 'calendar_id',
		'title' => 'LLL:EXT:cal/locallang_db.php:tx_cal_event',		
    		'label' => 'start_date,start_time,title',
		'label_alt' => 'start_date,start_time,title',
		'label_alt_force' => 1,	
...

Die DatabaseRelation holt sich also den Titel aus diesem Labelfeld musste ich feststellen. Kann ich das in meiner Extension überschreiben? Würde mir dann da gern ein geparstes Datum (nicht einfach den Datenbankwert) und den Titel ausgeben lassen.
Wenn ich in der ext_tables.php der cal Extension start_date und start_time entferne, dann stimmt die Anzeige sowohl im 4.0er als auch im 3.8er System.

MfG,
Andreas

steffenk ·

TCA ist ein Array, das Du überschreiben kannst

t3lib_div::loadTCA('tx_cal_event');
$TCA['tx_cal_event']['ctrl']['label']='title';
g1zmo ·

Jap, das wars 🙂
Danke!

Das überschreibt mir natürlich jetzt auch die Anzeige in der cal Extension. Aber besser als dort drin rumzupfuschen 😉