Zum Inhalt springen

TS-Konstante in Task abfragen

Erstellt am 8. Juni 2011 · 1 Antwort · letzte Antwort am 21. Juni 2011

Tags: Frage

haggert ·

Ich möchte im TS-Template eine Konstante anlegen:

plugin.tx_scripts  {variablenname = Wert_der_Variable}

und dann den Wert im Task vom Scheduler auslesen:

class tx_scripts_Testscript1 extends tx_scheduler_Task {
	public function execute() {	

$Variable_in_php = Wert_der_Variable (aus TS);

echo $Variable_in_php;

Wie muss ich da vorgehen ?

Ckoenig ·

Der Task (tx_scheduler_Task) bringt erst einmal von Haus aus nicht die Pluginkonfiguration mit. Diese musst Du laden:

require_once (PATH_t3lib.'class.t3lib_page.php');
require_once (PATH_t3lib.'class.t3lib_tstemplate.php');
require_once (PATH_t3lib.'class.t3lib_tsparser_ext.php'); 

function loadTs($pageUid) {
       $sysPageObj = t3lib_div::makeInstance('t3lib_pageSelect');
       $rootLine = $sysPageObj->getRootLine($pageUid);
       $TSObj = t3lib_div::makeInstance('t3lib_tsparser_ext');
       $TSObj->tt_track = 0;
       $TSObj->init();
       $TSObj->runThroughTemplates($rootLine);
       $TSObj->generateConfig();
       $this->conf = $TSObj->setup['plugin.']['tx_scripts.'];
}

Als $pageUid dann natürlich die Seite in welcher das Template liegt angeben. Mittels $this->conf['variablenname'] solltest Du dann auf die Konstante zugreifen können.

Grüße,
Carsten