{"issue":{"state":"open","created_at":"2011-11-29T17:53:53Z","updated_at":"2011-11-29T17:53:53Z","user":{"gravatar_id":"256406243346b9253f8610fb1d1e05f6","id":1215373,"url":"https://api.github.com/users/importer","login":"importer","avatar_url":"https://secure.gravatar.com/avatar/256406243346b9253f8610fb1d1e05f6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"comments":0,"body":"Hi Leo,\nzunächst einmal: je  mehr ich mich mit TYPOlight beschäftige, desto besser gefällts mir. Von meiner Stelle deshalb hier erst einmal ein großes Lob.\n\nEine kleine Anfrage hätte ich bezüglich eines sehr merkwürdigen Verhaltens, das mit vermutlich aus dem Forum nicht erklärt werden kann, deshalb wende ich mich an Dich. \n\nMöchte Default-Werte an eine Tabelle **DYNAMISCH** vergeben, deshalb eine Callback-Funktion registriert, die das übernehmen soll. \n\n```\nclass myclass extends Backend {\n    public function onLoadCallback($dcTable) \n    {\n        $default = 'test-title';\n        $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['title']['default'] = $default;\n    }\n}\n```\n\nDer Default-Wert wird allerdings nicht übernommen, eine Erklärung ist auch parat. Das Datenbank-Objekt wird erst initialisiert (mit ggfs. statsischen Default-Werten und beim Rendern des BE-Formulars nur noch ausgelesen. \n\n**Frage 1: Wäre es möglich, das auch so dynamisch deklarativ zu machen?**\n\nEin Workaround sieht übrigens so aus:\n\n```\n    public function onLoadCallback($dcTable) \n    {\n        $arrDefault = array('title'    => 'DefaultValue oder sonstwas');\n        $eventID = $this->Input->get('id');\n        $sqlDefaultQuery = $this->Database->prepare('SELECT title FROM tl_calendar_events WHERE id=?')->limit(1)->execute($eventID);\n\n        if (\n\n![]($sqlDefaultQuery->title)\n        {\n            $sqlDefault = $this->Database->prepare('UPDATE tl_calendar_events %s WHERE id=?')->set($arrDefault)->execute($eventID);\n        }\n    } \n```\n\n \n\nHier entsteht das zweite Problem. Bei folgendem Code wird plötzlich der Default-Wert 'test-title' zugewiesen - und das erscheint mir doch sehr merkwürdig.\n\n```\n    public function onLoadCallback($dcTable) \n    {\n        $default = 'test-title';\n        $arrDefault = array('title'    => 'DefaultValue oder sonstwas');\n        $eventID = $this->Input->get('id');\n        $sqlDefaultQuery = $this->Database->prepare('SELECT title FROM tl_calendar_events WHERE id=?')->limit(1)->execute($eventID);\n\n        if ()$sqlDefaultQuery->title)\n        {\n            $sqlDefault = $this->Database->prepare('UPDATE tl_calendar_events %s WHERE id=?')->set($arrDefault)->execute($eventID);\n        }\n        $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['title']['default'] = $default;\n    } \n```\n\n \n\n**Frage 2: Es wäre wichtig, das Vorgehen hier zu vereinheitlichen. Ist das möglich?**\n\n--- _Originally created by yxcvbnm on January 18th, 2010, at 11:23am (ID 1427)_","assignee":{"gravatar_id":"87d2e5aefadcb310f9155df28c2b3582","id":1192057,"url":"https://api.github.com/users/leofeyer","login":"leofeyer","avatar_url":"https://secure.gravatar.com/avatar/87d2e5aefadcb310f9155df28c2b3582?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2388898,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"labels":[{"name":"Defect","color":"bd2c00","url":"https://api.github.com/repos/contao/import/labels/Defect"}],"number":1427,"title":"Dynamische Erzeugung von Defaultwerten mit merkwürdigem Verhalten","closed_at":null,"html_url":"https://github.com/contao/import/issues/1427","url":"https://api.github.com/repos/contao/import/issues/1427","milestone":null},"action":"opened"}