Hallo zusammen,
ich habe jetzt schon verschiedene Bundles durchforstet aber kein passendes gefunden und irgendwie bin ich auch nicht ganz sicher wonach ich da eigentlich ausschau halten muss.
Ich würde gerne in einem eigenen Bundle die Tabelle tl_page um einen weiteren Edit-Button ergänzen, welcher dann andere Inhalte pflegt als der bereits existierende Edit-Button. Sozusagen "zusätzliche weitere Informationen zur Seite". Den Button anlegen ist nicht weiter schwer, habe ich hin bekommen. Doch jetzt stellen sich einige fragen:
Ich habe den Jump-To-Article-Button kopiert und ans operation-Array angehangen:
Damit wird dann ein Backend-Modul benötigt, welches "my_new_table" heißt.PHP-Code:
array_insert($GLOBALS['TL_DCA']['tl_page']['list']['operations'],9,array (
'my_new_table' => array
(
'label' => &$GLOBALS['TL_LANG']['tl_page']['mynewtable'],
'href' => 'do=my_new_table&act=edit',
'icon' => 'article.svg',
'button_callback' => array('tl_page_extended', 'editMyNewTable')
)
));
class tl_page_extended extends Backend
{
public function editMyNewTable($row, $href, $label, $title, $icon)
{
return ($row['type'] == 'regular' || $row['type'] == 'error_403' || $row['type'] == 'error_404') ? '<a href="' . $this->addToUrl($href.'&id='.$row['id']) . '" title="'.StringUtil::specialchars($title).'">'.Image::getHtml($icon, $label).'</a> ' : Image::getHtml(preg_replace('/\.svg$/i', '_.svg', $icon)).' ';
}
}
Aufgerufen wird es über den zusammen gesetzten Link z. B.:
Dieses bestücke ich dann mit meinen gewünschten DCA-Feldern usw. ...Code:/contao?do=my_new_table&act=edit&id=8&rt=XXXXX&ref=XXXXX
Jetzt das Problem:
Für die entsprechenden Seiten (IDs) existieren die Datenbankeinträge in "my_new_table" ja nicht, sodass die vermeintlich noch leeren Felder nicht angezeigt werden können.
Irgendwie müsste das System hingehen und schauen, welche Seiten bereits existieren und dafür initial in der "my_new_table" einen leeren Eintrag anlegen, sodass ich diesen dann editieren kann bei Aufruf.
Ich wäre sehr dankbar für ein Beispiel (evtl. sogar ein bereits existierendes Bundle) welches sich auch auf die Seiten IDs bezieht, oder einfach nur ein paar Stichworte mit denen ich weiter forschen kann.
Vielleicht gehe ich das alles aber auch ganz falsch an. Ich lasse mich da gerne belehren!
Viele Grüße