Zum Inhalt springen

TS settings in scheduler task / storage pid

Erstellt am 16. Mai 2012 · 1 Antwort · letzte Antwort am 21. Mai 2012

Tags: Frage

Unbekannter Benutzer ·

Hallo zusammen,

ich habe eine scheduler task geschrieben, welche eine action eines Datenmodells bzw. Controllers aufruft. Das funktioniert auch so weit.
Das Problem ist, daß ich nicht ohne weiteres an die storage pid komme, damit auf die richtigen Seiten zugegriffen wird.
Also habe ich

$GLOBALS['TT'] = new t3lib_timeTrackNull;
$GLOBALS['TSFE'] = t3lib_div::makeInstance('tslib_fe', $GLOBALS['TYPO3_CONF_VARS'], 2, 0);
$GLOBALS['TSFE']->sys_page = t3lib_div::makeInstance('t3lib_pageSelect');
$GLOBALS['TSFE']->sys_page->init(TRUE);
$GLOBALS['TSFE']->initTemplate();
$GLOBALS['TSFE']->rootLine =
$GLOBALS['TSFE']->sys_page->getRootLine(1, '');
$GLOBALS['TSFE']->getConfigArray();

eingebaut, um an die TS settings zu kommen.
Somit habe ich jetzt zwar die storage pid, was mich jedoch stört ist die Zeile

$GLOBALS['TSFE']->sys_page->getRootLine(1, '');

Dort muß ja nun die id der Seite mit dem TS template angegeben werden, hier also die 1.
Jetzt muß ich der Task zwar nicht mehr die storage pid übergeben, jetzt dafür aber die id der Seite mit dem Template. So richtig gewonnen habe ich also nichts.

Gibt es da einen eleganteren Weg?

Gruß Andre

rlp_immigrant · · Beste Antwort

Hi,
ich nehme mal einfach an du nutzt
t3lib_div::makeInstance('Tx_Extbase_Core_Bootstrap'); um Extbase sauber zu starten?

Dann kannst du es einfach via Typoscript machen.

module.tx_schiessmichtot.persistence.storagePid = XY

Alternativ kannst du auch einfach in deinem Repository

$query->getQuerySettings()->RespectStoragePage(false);

machen und somit alle Datensätze abgreifen.

Grüße
Alex