Hallo,
ich habe eine Extension geschrieben in der es einen Hook gibt die die Funktion processDatamap abfängt damit ich beim Speichern noch eine Mail verschicken kann. Alles soweit OK.
Nun möchte ich aber auch einen Link in der Mail mitschicken in der der User direkt auf sein Profil kommt.
Das heisst ich müsste ja irgendwie an die ID der Seite kommen auf der das Plugin installiert ist, das die Daten anzeigt.
Die Id der Seite mit den Daten erhalten ich ja schon über den hook.
Nur wie komme ich an die Plugin Seiten ID. Diese kann ja durchaus verändert werden.( Neue Seiten angelegt, Plugin nochmals installiert usw.)
Gruss
Tom
die ist ja im TS definiert, also kommst Du daran über
$GLOBALS['TSFE']->sys_page->tmpl->setup['plugin.'][tx_ext_pi1.']
Hallo steffenk,
Danke für deine Antwort aber steht mir das $GLOBALS['TSFE'] denn überhapt im BE zur Vefügung beim Speichern eines Datensatzes?
Ich habe es ausprobiert ist aber leer.
Gruss Tom
nein, dafür gibts dann
$sys_page = t3lib_div::makeInstance("t3lib_pageSelect");
$rootLine = $sys_page->getRootLine($pageId);
$tmpl->runThroughTemplates($rootLine,$template_uid);
...
siehe template object browser
Hallo steffenk,
ich nutze folgenden Code:
function loadTypoScriptForBEModule($extKey) {
list($page) = t3lib_BEfunc::getRecordsByField('pages', 'pid', 0);
$pageUid = intval($page['uid']);
$sysPageObj = t3lib_div::makeInstance('t3lib_pageSelect');
$rootLine = $sysPageObj->getRootLine($pageUid);
$TSObj = t3lib_div::makeInstance('t3lib_tsparser_ext');
t3lib_div::debug($TsObj);
$TSObj->tt_track = 0;
$TSObj->init();
$TSObj->runThroughTemplates($rootLine);
$TSObj->generateConfig();
return $TSObj->setup['plugin.'][$extKey . '.'];
An der stelle wo das debug steht bekomme ich keine Ausgabe mehr. Vorher ja. Also $rootline usw.
Gruss Tom
Es sei noch erwähnt,
das dies in der hook class steht.
Gruss Tom
Vieleich habe ich mich auch falsch ausgedrückt.
1. Es gibt eine Extension die Daten ausgibt.
2. mit der gleichen Extension kann ich Formulardaten eingeben und speichern
3. es gibt ein Freigabemodus
4. wenn der Inhalt freigegeben ist, dann sol eine mail verschickt werden mit einem Link zu der Detailansicht der Daten.
Die Detailansicht befindet sich z.b. auf Seite 280 also muss der Link lauten
www.xyc.de/index.php?id=280&tx_meine ext_pi1[mehr]=(Id des datensatzes den ich gerade speichere)
Wie komme ich an die id 280? Ich weiss ja nicht wo das Plugin installiert ist.
Ein Möglichkeit wäre dies im TS des Plugin zu hinterlegen.
Nur wie komm ich an die conf des Plugins heran bei speichern in der Hookklasse.
Ich hoffe das ist verständlicher.
Gruss Tom
ums abzukürzen:
global verfügbare Parameter hole ich mir aus der extConf, also definiert in
ext_conf_template.txt
auslesen:
$extConf = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['ext_key']);
von überall zu erreichen.
Hallo steffenk,
genau so hab ich es jetzt auch gemacht und funktioniert.
Trotzdem danke
Gruss Tom