Hi,
eine Mütze Schlaf und ein sauberer Anfang nach Wiki-Vorlage (mit Autoloader) und schon geht's auf einmal ;-) keine Ahnung wo da gestern genau der Fehler hing, aber jetzt komm ich zumindest schon mal an die Stelle, wo ich hin will.
Eintrag dcaconfig.php
PHP-Code:
$GLOBALS['TL_DCA']['tl_formdata']['config']['onsubmit_callback'][] = array('backendExtended','sendMail');
und die backendExtended.php (system/module/backendExtended) sieht wie folgt aus
PHP-Code:
if (!defined('TL_ROOT')) die('You can not access this file directly!');
class backendExtended extends Backend
{
public function sendMail($dc)
{
if ( $dc->activeRecord->form[0] == 'Forum :: Frage erstellen' )
{
echo "publishedDC: " . $dc->activeRecord->published . "<br/>";
echo "publishedPOST: " . $this->Input->post('published') . "<br/>";
die();
}
}
}
Aber hier hab ich nun das Problem, dass die Daten anscheinend bereits gespeichert wurden, wenn meine Funktion an der Reihe ist, denn mein $dc->activeRecord->published ist immer identisch mit $this->Input->post('published') und ich muss ja den Fall abfangen, wenn der Originaleintrag nicht veröffentlicht ist (!$dc->activeRecord->published) und der Admin den veröffentlichen Haken gesetzt hat ($this->Input->post('published') == 1), sonst gehen die Mails jedes Mal raus sofern ein Eintrag im BE geändert wird der bereits veröffentlicht ist.
Ist es nicht möglich mit dem 'onsubmit_callback' auf die DB-Daten vor der Änderung zuzugreifen?
Lesezeichen