Hello Dimitry, thanks for your answere. > Basically you did what I said: you moved "$GLOBALS['BE_USER']->user['admin'] > = 1" above "$tce->start(...)".
This line was in the beginning of the function in the first post, thats why i meant, thats not the goal - as far as i understand what you meant. For some reason the following code is working now, I've debugged all the variables again and again - it was a small typo ... Perhaps it's helpfully for someone else ;) Thanks a lot. Best regards Kay function setTSConstantValue($pid,$name,$value) { $userStatus = $GLOBALS['BE_USER']->user['admin']; $GLOBALS['BE_USER']->user['admin']=1; $template_uid = 0; $pageId = $pid; $tmpl = t3lib_div::makeInstance("t3lib_tsparser_ext"); // Defined global here! $tmpl->tt_track = 0; // Do not log time-performance information $tmpl->init(); $tplRow = $tmpl->ext_getFirstTemplate($pageId,$template_uid); if (is_array($tplRow) || 1) { $sys_page = t3lib_div::makeInstance("t3lib_pageSelect"); $rootLine = $sys_page->getRootLine($pageId); $tmpl->runThroughTemplates($rootLine,$template_uid); // This generates the constants/config + hierarchy info for the template. $theConstants = $tmpl->generateConfig_constants(); // The editable constants are returned in an array. $tmpl->ext_categorizeEditableConstants($theConstants); // The returned constants are sorted in categories, that goes into the $tmpl->categories array $tmpl->ext_regObjectPositions($tplRow["constants"]); // This array will contain key=[expanded constantname], value=linenumber in template. (after edit_divider, if any) $tmpl->ext_putValueInConf($name,$value); $recData=array(); $saveId = $tplRow['_ORIG_uid'] ? $tplRow['_ORIG_uid'] : $tplRow['uid']; $recData["sys_template"][$saveId]["constants"] = implode($tmpl->raw,chr(10)); print_r($saveId); // Create new tce-object $tce = t3lib_div::makeInstance("t3lib_TCEmain"); $tce->stripslashes_values=0; // Initialize $tce->start($recData,Array()); // Saved the stuff $tce->process_datamap(); // Clear the cache (note: currently only admin-users can clear the cache in tce_main.php) $tce->clear_cacheCmd("all"); $tce->admin = $userStatus; $GLOBALS['BE_USER']->user['admin']=$userStatus; } else { throw new Exception('No Template found!!!'); } } function getTSConstantValue($pid,$name) { $template_uid = 0; $pageId = $pid; $tmpl = t3lib_div::makeInstance("t3lib_tsparser_ext"); // Defined global here! $tmpl->tt_track = 0; // Do not log time-performance information $tmpl->init(); $tplRow = $tmpl->ext_getFirstTemplate($pageId,$template_uid); if (is_array($tplRow) || 1) { // IF there was a template... // Gets the rootLine $sys_page = t3lib_div::makeInstance("t3lib_pageSelect"); $rootLine = $sys_page->getRootLine($pageId); $tmpl->runThroughTemplates($rootLine,$template_uid); // This generates the constants/config + hierarchy info for the template. $theConstants = $tmpl->generateConfig_constants(); // The editable constants are returned in an array. $tmpl->ext_categorizeEditableConstants($theConstants); // The returned constants are sorted in categories, that goes into the $tmpl->categories array $tmpl->ext_regObjectPositions($tplRow["constants"]); // This array will contain key=[expanded constantname], value=linenumber in template. (after edit_divider, if any) } else { throw new Exception('No Template found!!!'); } return $tmpl->setup['constants'][$name]; } _______________________________________________ TYPO3-english mailing list TYPO3-english@lists.netfielders.de http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-english