Hallo,
ich möchte das Event-Modul um ein select-Feld erweitern, aus dem man eine Kategorie auswählen kann. Dafür habe ich eine Tabelle "tl_calendar_events_categories" mit den Feldern "id", "category" und "tstamp" angelegt sowie "tl_calendar_events" um das Feld "category" erweitert. Alle anderen benötigten Dateien habe ich angelegt, so wie im Wiki beschrieben (http://de.contaowiki.org/Vorhandene_Module_erweitern).
Mein Problem ist, dass zwar eine select-Box im BE angezeigt wird, diese aber nicht gefüllt ist. Es sollen die Kategorien aus "tl_calendar_events_categories" ausgelesen werden. Ich habe versucht, das DCA über meine "tl_calendar_events.php" (also meine neu angelegte Datei in "calendarCategories/dca", nicht die "calendar") entsprechend zu ändern, habe aber längst nicht alles verstanden (auch nachdem ich mir die Einstellungen im calendar-Modul und die Referenz des DCA angesehen habe).
Meine "tl_calendar_events.php" sieht zur Zeit so aus:
Code:
<?php if (!defined('TL_ROOT')) die('You can not access this file directly!');
// Relationen zu anderen Tabellen
$GLOBALS['TL_DCA']['tl_calendar_events_categories']['config'] = array
(
'dataContainer' => 'Table',
'ptable' => 'tl_calendar_events',
'enableVersioning' => true,
'onload_callback' => array
(
array('tl_calendar_events_categories', 'checkPermission'),
array('tl_calendar_events_categories', 'generateFeed')
),
'oncut_callback' => array
(
array('tl_calendar_events_categories', 'scheduleUpdate')
),
'ondelete_callback' => array
(
array('tl_calendar_events_categories', 'scheduleUpdate')
),
'onsubmit_callback' => array
(
array('tl_calendar_events_categories', 'adjustTime'),
array('tl_calendar_events_categories', 'scheduleUpdate')
)
);
//Das Auflistungsarray legt fest, wie Datensätze aufgelistet werden.
$GLOBALS['TL_DCA']['tl_calendar_events_categories']['list']['sorting'] = array
(
'mode' => 4,
'fields' => array('id DESC'),
'headerFields' => array('category'),
'panelLayout' => 'filter;sort,search,limit',
'child_record_callback' => array('tl_calendar_events_categories', 'listEvents')
);
//Anzeige im Backend
$GLOBALS['TL_DCA']['tl_calendar_events']['palettes']['default'] = str_replace('title,','title,category,', $GLOBALS['TL_DCA']['tl_calendar_events']['palettes']['default']);
//Beschreibung des Feldes
$GLOBALS['TL_DCA']['tl_calendar_events']['fields']['category'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_calendar_events']['category'],
'inputType' => 'select',
'foreignKey' => 'tl_calendar_events_categories.category',
'eval' => array('doNotCopy'=>true, 'mandatory'=>true, 'includeBlankOption'=>true, 'tl_class'=>'w50')
);
?>
Sieht hier jemand den Fehler?
LG
Tina
Lesezeichen