[gelöst] stehe auf dem Schlauch

am 23.06.2010 - 13:13 Uhr in
Ich stehe auf dem Schlauch:
Vor einigen Monaten hatte ich mit webform ein Formular entwickelt, damit Benutzer bei der Registrierung mehr Informationen angeben, als nur die Mailadresse. Dann hatte ich Probleme mit dem Mailempfang und habe diverse Module mit FTP entfernt und deaktiviert und wieder alles neu hochgeladen etc...
Nun finde ich das damals erstelle Webformular nicht mehr - es arbeitet zwar wie es soll, aber ich wollte es eigentlich ändern und ausbauen.
- Wo müsste es sein, wenn man es unter "Verwalten, Inhaltsverwaltung, Webformulare" auf Grund des Crashes nicht mehr findet?
Weitere Frage:
Ich habe nun das Formular neu erstellt (das neue findet man auch da, wo man es erwartet). Wo innerhalb von Drupal baue ich nun den Registrieungsvorgang so um, dass bei der Benutzerregistrierung dieses neue Formular mitverwendet wird (zwangsweise)?
Danke für Hinweise!
A.
- Anmelden oder Registrieren um Kommentare zu schreiben
Mal eine ganz andere
am 23.06.2010 - 13:26 Uhr
Mal eine ganz andere Frage:
Warum verwendest du für so eine Aufgabe denn Webform? Wenn die User weitere Angaben bei der Registrierung machen sollen, wäre es dann nicht sinnvoller, weitere Profil-Felder einzufügen, die sie ausfüllen müssen? Das wäre wesentlich einfacher.
ich dachte, dass man da die Daten per Mail und Tabelle
am 23.06.2010 - 13:48 Uhr
bekommen kann, die ein Benutzer eingibt - geht das mit Profilfeldern auch?
Danke für den Hinweis! Das war der Grund, warum ich das Formular nicht fand - nun steht es unter Benutzer / Benutzerprofile - und ich werde mir das gleich noch mal genauer ansehen. Manchmal sieht man den Wald vor lauter Bäumen nicht!
Also mindestens über das
am 23.06.2010 - 13:54 Uhr
Also mindestens über das Modul Rules kann man sich die Daten inkl. aller Profil-Daten per Mail schicken lassen.
Kommt auch drauf an, was mit den Daten geschehen soll. Wenn die Angaben z.B. dauerhaft dem Benutzer zugeordnet sein sollen, dann wären Profil-Felder auf jeden Fall besser geeignet. Die Daten aus dem Webformular wirst du später nicht so einfach gezielt abrufen können wie Profildaten.
Also ich persönlich würde in jedem Fall zu Profil-Feldern tendieren, weil das auch aus logischer Sicht der einfachste und sinnvollste Weg wäre.
Rules: Profilfelder in Mail weitergeben?
am 27.06.2010 - 15:14 Uhr
Also ich habe nun Rules installiert - aber ich habe noch nicht verstanden, wie ich das Profilfeld "Name, Vorname" (und andere Profilfelder) via Rules in eine zu sendende e-mail bekomme. Eigentlich bräuchte es doch eine neue (erweiterte) Aktion, die lautet "e-mail mit Profilfeld senden" und bei der man dann angeben kann, welche Profilfelder geschickt werden. Aber wie bekommt man diese Aktion über Rules hin? Ich habe es mit Rules derzeit nur geschafft, bei einer Änderung eines Benutzerprofils ganz allgemein per "e-mail senden an" informiert zu werden, aber ich fand nirgendwo einen Hinweis, wie ich die Profildetails in den Inhalt der Mail bekomme...
Danke für Hinweise!
A.
Du benötigst noch das Modul
am 27.06.2010 - 16:00 Uhr
Du benötigst noch das Modul Token.
Damit kann man Ersetzungs-Pattern einfügen, die dann durch einen bestimmten Wert ersetzt werden. Zum Beispiel könnte man in die Mail [user:uid] schreiben und in der Mail würde dann die ID des Users auftauchen. Und so müsste das auch mit den Profilfeldern funktionieren. Das ganze klappt ebenfalls mit dem normalen "e-mail senden an", dort fügt man dann eben die benötigten Pattern ein.
Bei der Aktion ("e-mail senden an") findest du auch eine Liste, welche Pattern welche Werte ersetzen, man kann sich schließlich nicht einfach irgendwas ausdenken.
Profilfelder in Modul token?
am 08.07.2010 - 22:51 Uhr
Hallo
Ich habe das Token Modul auch installiert. Da gibt es aber im Bereich "User-Token" nur ein Token als Link zu der Profilseite, aber keine einzelnen Token mit den Profildaten - wie aber bekomme ich die einzelnen Profildaten heraus in die Mail? Und wie gebe ich Token an, welche Profildaten ausgewählt werden sollen? Sorry, aber ich finde da nichts.
Ha, den Thread habe ich schon
am 09.07.2010 - 00:41 Uhr
Ha, den Thread habe ich schon gesucht ^^ Wollte hier nochmal antworten und habe den Thread nicht mehr gefunden...
Stimmt, hast recht, es gibt keine Tokens für einzelne Profilfelder, hatte ich wohl falsch in Erinnerung. Aber du kommst trotzdem ganz leicht an die Profil-Felder, nämlich, indem du einen kleinen PHP-Teil in die Mail aufnimmst.
Dazu musst du einfach irgendwo in der Nachricht PHP-Begrenzer einfügen und schon kannst du damit PHP-Code ausgeben.
Zum Beispiel könnte man eine Regel erstellen, die auslöst, wenn ein neuer Benutzer angelegt wird und darin die Aktion "eMail an beliebige Adresse schicken" ausführen. In das Nachrichtenfeld der eMail kann man dann zum Beispiel folgenden Text eintragen:
Hallo Admin, ein neuer User hat sich angemeldet.
Hier kannst du seine Profildaten nachlesen:
<?php
//$account ist das User-Objekt des neuen Benutzers
//Profil-Daten des Users laden
profile_load_profile($account);
echo $account->name;
echo $account->profile_vorname;
echo $account->profile_nachname;
echo $account->profile_sonst_was;
?>
mfg
Deine Website
Alles, was du innerhalb der PHP-Begrenzer über echo oder print ausgibst, wird später in der eMail ganz normal als Text ausgegeben. Über profile_load_profile lädst du das Profil des Users und dann kann man auf jedes Feld über $userobjekt->name_des_profil_feldes zugreifen und das ganze ausgeben. Den Text oben könnte man so wie er ist in das Nachrichten-Fenster der eMail-Aktion kopieren. Allerdings muss man natürlich die Profil-Felder entsprechend anpassen und den Text etc. Aber so dürfte das klappen.
Es kann sein, dass du das Core-Modul "PHP-Filter" aktiviert haben musst, um PHP in der eMail verwenden zu dürfen. Wenn auf der Seite der eMail-Aktion nirgendwo ein Punkt "PHP-Auswertung" steht (müsste gleich unter "Token-Ersetzungsmuster" stehen), musst du das Modul aktivieren.
Damit dürfte es aber endgültig klappen ;-)
leider geht es noch nicht ganz...
am 10.07.2010 - 23:01 Uhr
Die Mail enthält nun folgenden Text:
Hallo Admin, ein neuer User hat sich angemeldet. Hier kannst du seine
Profildaten nachlesen:
<?php
//$account ist das User-Objekt des neuen Benutzers
//Profil-Daten des Users laden
profile_load_profile($account);
echo $account->name;
echo $account->profile_nachname-vorname;
echo $account->profile_str_nr;
echo $account->profile_plz_ort;
echo $account->profile_telefon-tagsueber;
?>
Ich habe das Modul "Php" im Core aktiviert und finde bei Aktionen bzw. Trigger auch keinen Hinweis, dass man da irgendwo "Php-Auswertung" einschalten könnte...
Vielleicht fehlt ja nicht viel?
Würde mich freuen, wenn es noch irgendwie geht...
Danke!
A.
Hast du eine neue Regel
am 10.07.2010 - 23:15 Uhr
Hast du eine neue Regel erstellt und als Aktion gewählt, eine eMail an eine beliebige eMail-Adresse zu senden? Denn dort müsste man PHP-Auswertung verwenden können. (siehe Screenshot)
nun fehlt nur noch eine Kleinigkeit
am 11.07.2010 - 12:24 Uhr
Danke - es lag daran, dass ich meinte, die bereits früher erstellte Regel ändern zu können. Anscheinend hat aber die Aktivierung des PHP Moduls erst dann Einfluss, wenn man eine Regel neu erstellt und vorhandene Regeln werden nicht für PHP geöffnet? Jedenfalls kommen jetzt per Mail die gewünschten Profilfelder.
Nun nur noch die Frage: Wie integriere ich in die Mail dann die Steuerzeichen (z.B. Zeilenumbruch, Leerzeichen, Tabulator oder Semikolon), damit die Formatierung auch noch passt? Tut mir leid, wenn ich so dumm frage, aber ich kenne mich mit PHP nicht aus.
Noch eine Frage: Wie schalte ich die Meldungen des Regel-Moduls aus (has been invoked... /
0.091 ms Executing the rule "e-mail mit Profildaten senden" on rule set "Benutzer wurde erstellt"
usw...
Danke!
A.
Mmmh, eigentlich müsste er
am 11.07.2010 - 19:14 Uhr
Mmmh, eigentlich müsste er die Zeilenumbrüche im Textfeld auch in der eMail auswerten.
Ansonsten probiere es mal mit "print \n" oder "print \n\r".
Also so zum Beispiel:
Hallo Admin, ein neuer User hat sich angemeldet. Hier kannst du seine Profildaten nachlesen:
<?php
//$account ist das User-Objekt des neuen Benutzers
//Profil-Daten des Users laden
profile_load_profile($account);
echo $account->name . "\n";
echo $account->profile_nachname-vorname . "\n";
echo $account->profile_str_nr . "\n";
echo $account->profile_plz_ort . "\n";
echo $account->profile_telefon-tagsueber . "\n";
?>
mfg Deine Website
Das \n müsste in der eMail als Zeilenumbruch ausgewertet werden. Kannst ja damit mal ein wenig herum experimentieren.
Zu deinem 2. Problem:
admin/rules/settings aufrufen und den Haken bei "Regelauswertung debuggen" entfernen.
Danke!
am 11.07.2010 - 23:21 Uhr
Danke, nun passt alles! Klasse, wie man hier unterstützt wird!