Zum Inhalt springen

hook erstellen für sr_feuser_register

Erstellt am 16. September 2009 · 1 Antwort · letzte Antwort am 15. August 2012

Tags: Frontend-Benutzer, Frage

Duke ·

Hallo ich habe das schon in ein anderes Forum gepostet, jedoch ohne Erfolg und mir eilt ein bisschen.

Ich versuche in user_register einen hook zu implementieren und stelle mich dabei wohl etwas dämlich an, da ich es noch nie gemacht habe.

Es soll nach einem update der Daten überprüft werden, ob ein Benutzer Land, bzw. Ort angegeben hat und dann per Google-Geo-Obj Längen- und Breitengrad in die fe_useres geschrieben werden. Die soll immer nach einem UPDATE überprüft und abgearbeitet werden. Alles läuft, nur der hook eben nicht.

Es fängt schon damit an, dass ich nicht einmal weiß, welche von den sieben Stück ich nehmen soll, schätze aber saveedit.

Meine bisherigen Einstellungen sind wie folgt:

1. Ordner Hooks mit Klasse erstellt:
knowledgemgr
|_hooks: class.tx_knowledgemgr_feusers.php

class tx_knowledgemgr_feusers {
    function registrationProcess_beforeConfirmCreate(&$recordArray, &$controlDataObj) {
        echo("1");
    }

    function registrationProcess_afterSaveEdit($recordArray, &$invokingObj) {
    echo("2");
    }

    function registrationProcess_beforeSaveDelete($recordArray, &$invokingObj) {
    echo("3");
    }

    function registrationProcess_afterSaveCreate($recordArray, &$invokingObj) {
    echo("4");
    }

    function confirmRegistrationClass_preProcess(&$recordArray, &$invokingObj) {
        // in the case of this hook, the record array is passed by reference
        // you may not see this echo if the page is redirected to auto-login
    echo("5");
    }

    function confirmRegistrationClass_postProcess($recordArray, &$invokingObj) {
        // you may not see this echo if the page is redirected to auto-login
    echo("6");
    }

    function addGlobalMarkers(&$markerArray, &$invokingObj)    {
    echo("7");
    }
}

Also aus der Beispieldatei und die Funktionen blöd mit echos gefüllt. Einziger Unterschied: ich habe das in dem Datei-Verzeichnis MEINER Ext. Alles andere wäre doch unsinnig, oder sehe ich das falsch?

und dann noch MEINE ext_localconf.php:

if (!defined ('TYPO3_MODE')) {
     die ('Access denied.');
}
t3lib_extMgm::addUserTSConfig('
    options.saveDocNew.tx_knowledgemgr_tags=1
');
t3lib_extMgm::addUserTSConfig('
    options.saveDocNew.tx_knowledgemgr_items=1
');

t3lib_extMgm::addPItoST43($_EXTKEY, 'pi1/class.tx_knowledgemgr_pi1.php', '_pi1', 'list_type', 1);


//my Hooks
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['sr_feuser_register']['tx_srfeuserregister_pi1']['confirmRegistrationClass'][] = 'EXT:knowledgemgr/hooks/class.tx_knowledgemgr_feusers.php:&tx_knowledgemgr_feusers';

-> es tut sich nichts! wenn ich in der Klasse von user_reg per Debug etwas ausgeben lassen will, passiert auch nichts.

Also wie gesagt: ich bin was hooks angeht blutiger Anfänger und wäre für jede hilfe dankbar....
Besonders die reg. der Hooks in der ext_localconf erscheint mir hier undurchsichtig...

================gelöst====================================
ok,

im Beispiel in der mitgelieferten ext_localconf der sr_feuser_register steht etwas in der Art drin:
PHP-Code:
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['sr_feuser_register']...

Der Aufmerksame Leser der Anleitung im Rep findet als Beispiel etwas in der Art:
PHP-Code:
$TYPO3_CONF_VARS['EXTCONF']['sr_feuser_register']...

Nun, was soll ich noch mehr erklären? - Anleitung sticht Beispielkonf. !

gr!

Auf alle Fälle gehts jetzt so wie ich mir das vorgestellt habe und kann daher als gelöst betrachtet werden... Wenn's noch wer erklären könnte: noch besser 🙂

Wäre trotzdem nett, wenn noch wer den Unterschied erklären könnte und ob dies ein Bug ist, oder nicht.... mich verwundert das etwas...

Longnose ·

Hi Duke

Funktioniert Dein Hook auch bei aktuellen Versionen noch? sprich bei der Version 3.0.1 der sr_feuser_register?