Ich habe die tl_content Palette quasi mit eigenen Feld erweitert:
HTML-Code:
<?php
$GLOBALS['TL_DCA']['tl_content']['palettes']['ansprechpartnerauswahl'] = '{type_legend},type;{include_legend},ansprechpartnerauswahl;';
$GLOBALS['TL_DCA']['tl_content']['fields']['ansprechpartnerauswahl'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_content']['ansprechpartnerauswahl'],
'exclude' => true,
'inputType' => 'checkbox',
'options_callback' => array('tl_content_lorello_extends', 'getAnsprechpartnerauswahl'),
'eval' => array
(
'mandatory' => false,
'chosen' => false,
'submitOnChange' => false,
'multiple' => true,
'tl_class' => 'long'
),
'sql' => "text NULL"
);
class tl_content_lorello_extends extends Backend
{
public function __construct()
{
parent::__construct();
$this->import('BackendUser', 'User');
}
public function getAnsprechpartnerauswahl()
{
$sSql = "select id,name from tl_ansprechpartner where active = '1' order by sortIndex asc";
$aResult = \Database::getInstance()->query($sSql)->fetchAllAssoc();
$aDaten = array();
foreach($aResult as $key =>$values) {
$aDaten[$values['id']] = $values['name'];
}
return $aDaten;
}
}
Das ganze wird ja dann die config das DCA und einer entsprechenden Klasse verknüpft, damit ich im bei den Content Elementen eine Datenauswahl fürs Frontend aus einem Backend Datensatz auswählen kann.
Wie gesagt, die Auswahl und die Ausgabe funktioniert auch ohne Probleme.
Aber! Wird das ganze doppelt auf der Seite angelegt mit unterschiedlicher Datensatzauswahl, wird immer doppelt nur der 1. Datensatz ausgegeben, trotz korrektem Datenbankeintrag.
Nochmal als Beispiel:
Artikel1
Datenauswahl 1 -> Auswahl a,b
Artikel 2
Datenauswahl 2 -> Auswahl x,y
Ausgabe im Frontent
a,b,a,b und nicht wie gewünscht a,b,x,y
Lesezeichen