tl_calendar_events um Checkboxen / Mehrfachauswahl erweitern
Ich möchte gern die tl_calendar_events um eine Mehrfachauswahl erweitern und bin wie folgt vorgegangen:
Dateien angelegt:
/contao/dca/tl_calendar_events.php
/contao/languages/de/tl_calendar_events.xlf
tl_calendar_events.php
PHP-Code:
<?php
$GLOBALS['TL_DCA']['tl_calendar_events']['palettes']['default'] = str_replace('title,','title,eventTypes,', $GLOBALS['TL_DCA']['tl_calendar_events']['palettes']['default']);
$GLOBALS['TL_DCA']['tl_calendar_events']['fields']['eventTypes'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_calendar_events']['eventTypes'],
'exclude' => true,
'inputType' => 'radio',
'options' => &$GLOBALS['TL_LANG']['tl_calendar_events']['eventTypes']['options'],
'eval' => ['cols'=>4, 'tl_class'=>'w50'],
'sql' => "varchar(32) NOT NULL default ''"
);
tl_calendar_events.xlf
Code:
<?xml version="1.0" ?><xliff version="1.1">
<file datatype="php" original="src/Resources/contao/languages/en/tl_calendar_events.php" source-language="en" target-language="de">
<body>
<trans-unit id="tl_calendar_events.eventTypes.0">
<source>Veranstaltungstyp</source>
<target>Veranstaltungstyp</target>
</trans-unit>
<trans-unit id="tl_calendar_events.eventTypes.1">
<source>Wählen Sie die Felder aus, die im Frontend angezeigt werden sollen</source>
<target>Wählen Sie die Felder aus, die im Frontend angezeigt werden sollen</target>
</trans-unit>
</body>
</file>
</xliff>
Cache gelöscht, Installtool aufgerufen, klappt soweit, das Feld wird im Backend im Event angezeigt. Jetzt fehlen noch die Checkboxen und jetzt bin ich mit meinen bescheidenen Programmierkentnissen am Ende. Wie muss die tl_calendar_events.xlf ergänzt werden?
tl_news - eigene Felder verschwinden mit Weiterleitungsziel
Hallo,
ich habe seit Contao 4.10 ein komisches Verhalten bei News, wo ich eigene Felder habe. Wenn ich unter Weiterleitungsziel von Standard auf etwas anderes umstelle und Contao die Seite neu lädt, werden meine Felder nicht mehr gezeigt.
Hier ist mein Code in contao/dca/tl_news.php
Weiß jemand, woran das liegen kann? Oder ist es ein Fehler von Contao?
PHP-Code:
<?php
//Anzeige im Backend
$GLOBALS['TL_DCA']['tl_news']['palettes']['default'] = str_replace("author", "author,newsSecondAuthor;", $GLOBALS['TL_DCA']['tl_news']['palettes']['default']);
$GLOBALS['TL_DCA']['tl_news']['palettes']['default'] = str_replace("time", "newsSecondAuthor;{newsMedium_legend},newsMedium,newsLanguageDE,newsLanguageEN;", $GLOBALS['TL_DCA']['tl_news']['palettes']['default']);
// 2. Autor
$GLOBALS['TL_DCA']['tl_news']['fields']['newsSecondAuthor'] = [
'label' => &$GLOBALS['TL_LANG']['tl_news']['newsSecondAuthor'],
'inputType' => 'text',
'eval' => array('maxlength'=>255, 'tl_class'=>'clr w50'),
'sql' => "varchar(255) NOT NULL default ''",
];
// Newsmedium
$GLOBALS['TL_DCA']['tl_news']['fields']['newsMedium'] = [
'label' => &$GLOBALS['TL_LANG']['tl_news']['newsMedium'],
'inputType' => 'text',
'eval' => array('maxlength'=>255, 'tl_class'=>'clr long'),
'sql' => "varchar(255) NOT NULL default ''",
];
// Newssprache DE
$GLOBALS['TL_DCA']['tl_news']['fields']['newsLanguageDE'] = [
'label' => &$GLOBALS['TL_LANG']['tl_news']['newsLanguageDE'],
'inputType' => 'text',
'eval' => array('maxlength'=>255, 'tl_class'=>'w50'),
'sql' => "varchar(255) NOT NULL default ''",
];
// Newssprache EN
$GLOBALS['TL_DCA']['tl_news']['fields']['newsLanguageEN'] = [
'label' => &$GLOBALS['TL_LANG']['tl_news']['newsLanguageEN'],
'inputType' => 'text',
'eval' => array('maxlength'=>255, 'tl_class'=>'w50'),
'sql' => "varchar(255) NOT NULL default ''",
];
Felder in einem oder mehreren News- bzw. Eventarchiven ausschließen
Ich habe noch eine Fragen zu der neuen Palettenlogik. Kann man mit ihr auch bestimmen, in welchem News- bzw. Eventsarchiv eigene Felder erscheinen können? Oder muss man noch die alte Logik verwenden, wie es in diesem Beitrag beschrieben ist?