Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten Ansicht
  #1  
Alt 28.11.07, 10:46
Forum Zuschauer
 
Registriert seit: 12.10.06
Alter: 26
Beiträge: 5

hidden field in srfeuser_register


Hallo,

eines vorweg habe mit Extension-Programmierung gerade erst angefangen.

Folgendes: Ich habe mit einer kleinen Extension meine sr_feuserregister um ein Radiobuttonfeld erweitert.
Die Hooks in der FE-User-Registration habe ich auch gefunden und entsprechend erweitert. Für Create/Delete-Szenario funktioniert alles bestens. Der Updatevorgang ist etwas komplexer.

Alte vs. neue Emailadresse
Ich möchte ein hidden-Feld in dem Formular unterbringen, welches die Emailadresse beim Betreten der Profilseite speichert, damit ich bei einer Änderung derselben durch den Benutzer, die alte Adresse noch beim Verteiler (Radiobuttons) abmelden kann.

class.tx_srfeuserregister_pi1.php
Ich habe im Template gesehen, das ja schon hidden-Fields eingefügt werden. Also habe ich versucht an der class.tx_srfeuserregister_pi1.php Änderungen durchzuführen (habe natürlich ein Backup), leider bisher ohne nennenswerten Erfolg.

Ich habe es geschafft gehabt auf der reinen Profilseite das Feld auch mit dem richtigen Wert zu belegen (siehe Skript). Leider ist der Wert auf der folgenden Preview-Seite entweder mit der neuen Adresse oder gar nicht ausgefüllt. Im Hook wollte ich aber dieses Feld nutzen.

PHP-Code:
function addHiddenFieldsMarkers($markerArray$dataArr = array()) {
 if (
$this->conf[$this->cmdKey.'.']['preview'] && !$this->previewLabel) {
   
$markerArray['###HIDDENFIELDS###'] .= chr(10) . '<input type="hidden" name="'.$this-" />prefixId.'[preview]" value="1" />';
   // meins
   $markerArray['
###HIDDENFIELDS###'] .= chr(10) . '<input type="hidden" name="'.$this-" />prefixId.'[oemail]" value="'. htmlspecialchars($dataArr['email']).'" />';
   
   
if ($this->theTable == 'fe_users' && $this->cmdKey == 'edit' && $this->conf[$this->cmdKey.'.']['useEmailAsUsername']) {

     
$markerArray['###HIDDENFIELDS###'] .= chr(10) . '<input type="hidden" name="FE['.$this-" />theTable.'][username]" value="'. htmlspecialchars($dataArr['username']).'" />';

     $markerArray['
###HIDDENFIELDS###'] .= chr(10) . '<input type="hidden" name="FE['.$this-" />theTable.'][email]" value="'. htmlspecialchars($dataArr['email']).'" />';
                
}
// das geht hier noch weiter... 
Naja nun habe ich leider keine Idee mehr, was ich noch machen kann. Dieses spezielle Problem ist logischerweise auch nicht Dokumentiert. Wie kann ich denn so ein Feld setzen und über das erste Absenden retten bzw. nachher in meinem Hook zugänglich machen?

So wollte ich darauf zugreifen.
Hook
PHP-Code:
function registrationProcess_afterSaveEdit($recordArray, &$invokingObj) {

 
$sql $GLOBALS['TYPO3_DB']->exec_SELECTquery('email','fe_users','uid = '.$recordArray['uid']);
            
 
$rows = array();
 while(
$row $GLOBALS['TYPO3_DB']->sql_fetch_assoc($sql)) {
   
$rows[] = $row;
 }
            
   echo 
"neu: ".$rows[0]['email'];
   echo 
" alt: ".$recordArray['oemail'];
     

Grüße
Mario
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #2  
Alt 01.12.07, 12:19
Forum Zuschauer
 
Registriert seit: 12.10.06
Alter: 26
Beiträge: 5

An alle,

habe jetzt eine andere Lösung gefunden.

weiteres DB-Feld
Ich habe statt dem HIDDEN-FIELD einfach ein weiteres DB-Feld angelegt, welches die Emailadresse einfach kopiert aber erst beim Erreichen der Hook-Funktion evtl überschrieben wird (Profilupdate).

So kann ich in dieser Funktion prüfen, ob der USer eine neue Emailadresse eingetragen hat und kann die "alte" vom Verteiler abmelden um sie danach mit der neuen Adresse zu überschreiben --> für den nächsten Updatevorgang.

Das DB-Feld habe ich einfach mit dem Kickstarter eingebaut und setze dessen Werte dann mittels der Hookfunktionen von fe_user_register.

!
Jetzt funktioniert das Löschen und das Updaten. Leider habe ich noch ein Problem beim eigentlichen Registrieren. Ich will nämlich erst die Anmeldung am Verteiler/Eintrag im DBFeld setzen, wenn ich als Admin die Zugehörigkeit zur Gruppe erlaubt habe. Weiß jemand, wie dieser Bestätigungslink funktioniert und kann ich mit diesem auch eine Hookfunktion anspringen?

Grüße Mario
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Antwort


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are An


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
wrap =<div id='{field:uid}'>|</div> ?? madmongo TYPO3 4.x Fragen und Probleme 3 04.07.08 08:15
hidden input tags durch form-generator hinzufügen salatmensch TYPO3 4.x Backend 0 11.12.07 18:19
Hidden in Überschriften: header_layout.removeItems markus306 TYPO3 4.x Backend 0 26.11.07 17:00
MailFormPlus: Wie füllt man hidden Fields bei mehrseitigen Formularen? zombie Alle anderen Extensions 1 27.11.06 14:40
TYPO3 Geschwindigkeitsoptimierung: SELECT hidden FROM pages jo@typo3cms.info TYPO3 3.x Fragen und Probleme 2 28.03.06 13:18


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:16 Uhr.


Powered by vBulletin® Version 3.6.8 Patch Level 2 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0
Template-Modifikationen durch TMS