Zum Inhalt springen

2 Fragen zu Powermail

Erstellt am 4. August 2008 · 7 Antworten · letzte Antwort am 15. August 2008

Tags: Powermail, Frage

Leinad ·

Hallo,

es gibt bei Powermail ja die Möglichkeit, Felder mit Daten aus der fe_users füllen zu lassen, was im Prinzip auch genau das ist, was ich brauche.

Ich habe jetzt ein Formular erstellt, wo jeder Benutzer seine kompletten Daten in einem Formular hat und die Möglichkeit haben soll, diese Daten zu aktualisieren, z.B. neue Telefonnummer usw...

Gibt es die Möglichkeit, daß der Benutzer so seine Daten in der Datenbank updaten kann?

Und gibt es die Möglichkeit, zusätzliche Feldvalidierungen einfach zu integrieren, z.B. eine Mindestanzahl an Wörtern in einem Feld?

Gruß und Danke für Antworten

einpraegsam.​net ·

Hierfür würde ich sr_feuserregister verwenden - diese bietet genau das was du suchst.

Mit powermail ist derzeit keine Aktualisierung von Daten wie fe_user oder tt_address möglich - nur ein Neu-Anlegen dieser

Über einen regulären Ausdruck wäre dein zweiter Punkt vermutlich möglich, jedoch nützt dir das nichts...

Grüße, Alex

Leinad ·

Die sr_feuserregister kann ich eigentlich auch nicht verwenden, die ist zu unflexibel. Ich hab die fe_users um ein paar Felder erweitert und brauche außerdem den Typoscript-Feldtypen und Captcha und noch ein paar andere Kleinigkeiten, die die (nach dem Stand, wo ich sie das letzte Mal benutzt hab) nicht bietet.

Ich denke, da ist es die bessere Wahl, deine Extension etwas zu erweitern... eine gute Gelegenheit, sich mit Hooks mal näher zu beschäftigen, sind ja einige vorhanden.

Gruß Daniel

einpraegsam.​net ·
Leinad schrieb

eine gute Gelegenheit, sich mit Hooks mal näher zu beschäftigen, sind ja einige vorhanden.

Hooks gibt es reichlich in der Powermail 😃

Grüße, Alex

Leinad ·

Hallo,

mein erstes Problem hat gut geklappt mit Hook Nr. 12.

Für die Überprüfung der Wortanzahl wollte ich Hook Nr. 9 benutzen, aber da bekomme ich immer die Fehlermeldung:

Call to undefined method tx_xxx_errorcheck::pM_ConfirmationHook() in typo3conf/ext/powermail/pi1/class.tx_powermail_mandatory.php on line 300

Kann es sein, daß sich da ein Fehler eingeschlichen hat?

<?	function hook() {
		if (is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['powermail']['PM_MandatoryHook'])) { // Adds hook for processing of extra global markers
			foreach($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['powermail']['PM_MandatoryHook'] as $_classRef) {
				$_procObj = & t3lib_div::getUserObj($_classRef);
				$_procObj->PM_ConfirmationHook($this->error,$this->markerArray,$this->innerMarkerArray,$this->sessionfields,$this); // Open function to manipulate data
			}
		}
	}?>

Müßte es nicht

$_procObj->PM_MandatoryHook

heißen?

Gruß Daniel

Leinad ·

Hi, mittlerweile klappt alles, aber eine Sache ist mir noch aufgefallen:

In der class.tx_powermail_mandatory.php rufst du den Hook auf, nachdem die Marker für die Fehlermeldungen gesetzt werden.

Ich konnte erst eigene Fehlermeldungen erstellen, nachdem ich den Hookaufruf von Zeile 110 in Zeile 94 (vor // Check for errors) befördert habe.

Oder hab ich da einen Denkfehler?

Ansonsten, sehr geile Sache, die Extension und das mit den Hooks.
Danke für deine Hilfe.

Gruß Daniel

einpraegsam.​net ·

Im Prinzip ist das Fehlersetzen eigentlich gut gemacht:
Es wird in verschiedenen Funktionen auf Fehler überprüft (Pflichtfelder, Captcha, etc...) und dann einfach ein Eintrag in die Session gemacht.
Natürlich kannst du auch diverse Einträge mit unset() wieder löschen (zum Beispiel ganz am Ende).