Liste der Anhänge anzeigen (Anzahl: 1)
Freigabefelder definieren / hinzufügen
Hallo Leute,
ich versuche Momentan eine Freigabefunktion in MetaModels zu integrieren. Es handelt sich dabei aber nicht um die Veröffentlichen-Funktion.
Undzwar muss im Backend eine Auflistung von Benutzern einer Gruppe stattfinden.
Jeder Benutzer wird dann als Checkbox auf der Backend bearbeiten Seite angezeigt. Wenn man als einer von diesen angemeldet ist, ist nur die eigene Checkbox aktivier- / deaktivierbar. Die anderen sind disabled.
Das ganze soll weitesgehend dynamisch sein. Also wenn sich ein Benutzer der Gruppe anschließt soll auch bei der Pflege im Backend dieser in der Auflistung sein. Die nötigen field options für Contao habe ich bereits. Auch die Funktion steht und wird aktuell für die Newsartikel verwendet:
PHP-Code:
$objMember = $this->Database->execute("SELECT * FROM tl_user WHERE disable!=1 ORDER BY username");
while ($objMember->next())
{
$arrMemberGroups = deserialize($objMember->groups);
if(in_array(2, $arrMemberGroups))
{
//$GLOBALS['TL_DCA']['tl_news']['palettes']['default'] .= ',user'.$objMember->id;
$GLOBALS['TL_DCA']['tl_news']['fields']['user'.$objMember->id]['label'] = array($objMember->name,'');
$GLOBALS['TL_DCA']['tl_news']['fields']['user'.$objMember->id]['inputType'] = 'checkbox';
$GLOBALS['TL_DCA']['tl_news']['fields']['user'.$objMember->id]['sql'] = "char(1) NOT NULL default ''";
$disable = true;
if(BackendUser::getInstance()->id == $objMember->id) $disable = false;
$GLOBALS['TL_DCA']['tl_news']['fields']['user'.$objMember->id]['eval']['disabled'] = $disable;
$GLOBALS['TL_DCA']['tl_news']['fields']['user'.$objMember->id]['eval']['doNotCopy'] = true;
}
$GLOBALS['TL_DCA']['tl_news']['palettes']['default'] .= ',user'.$objMember->id;
}
Das ganze soll dann in etwa so aussehen:
Anhang 13815
Das ganze hat dann den Sinn, dass nur die Einträge später ausgegeben werden die von mindestens 2 Benutzern kontrolliert und freigegeben wurden.
Für mögliche Lösungsansätze wäre ich sehr dankbar!
Nachtrag
#############
Eventuell kann man das auch über einen onload_callback lösen?!
Bloß wo muss dieser dann eingebunden werden?