Profil / Persönliche Daten...
Profil / Persönliche Daten...
Hallo,
ich suche ein Modul wo User die sich auf die Seite Einloggen ihr Profil ... bearbeiten können.
Und von dem Profil sollen felder auch auf der Seite sichtbar sein.
Für Members (Foto, Name...)
Kann mir da jemand helfen ?
Vielen Dank im vorraus
ich suche ein Modul wo User die sich auf die Seite Einloggen ihr Profil ... bearbeiten können.
Und von dem Profil sollen felder auch auf der Seite sichtbar sein.
Für Members (Foto, Name...)
Kann mir da jemand helfen ?
Vielen Dank im vorraus
-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
Wie dringend?
Gruß
HerrB
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Hallo,
auch ich stehe vor der gleichen Aufgabe. Für einen Verein (Lebenshilfe Konstanz) erstelle ich gerade eine Seite.
Im FE sollen sich die Mitglieder einloggen können und auch ihre Daten ändern können (als Modul). Eigentlich genau so, wie in communido.net. Weiter sollen alle Mitglieder gelistet werden und per Klick werden alle Daten dieses Mitgliedes angezeigt (weiteres Modul). Auch Gruppen soll es geben, Vorstand und Mitglieder.
Wie auch bei communido soll es die Möglichkeit einer Anmeldung (Modul) geben. Diese Daten werden in die Standard-Gruppe (Mitglieder) eingetragen und erst durch den Admin bestätigt, der durch eine Mail von der Anmeldung in Kenntnis gesetzt wird.
Auch soll es Formulare geben, Mail an Mitglieder, Vorstand (auch Modul).
Derzeit habe ich die FE-Plugins Email, Homepage, Address integriert, was auch wunderbar funktioniert. Ich denke, dass ich auf dieser Basis auch weitere Optionen selbst einbauen kann (Konto, BLZ etc.).
Natürlich hätte ich gerne, dass das Formular zum Ändern der eigenen Daten genauso dynamisch reagiert (bei neuem Plugin), wie im BE.
Das zweite Problem ist sicher, dass die FEuser nicht automatisch Newsletter-Empfänger sind ...
Viele Wünsche, aber fragen kostet ja nix. Gibt es eine solche Lösung bereits (oder ähnlich) und stellt das der (die) jenige zur Verfügung. Das Budget ist denkbar knapp.
Nun bin ich ja mal gespannt,
viele Grüsse aus Konstanz, Uwe
auch ich stehe vor der gleichen Aufgabe. Für einen Verein (Lebenshilfe Konstanz) erstelle ich gerade eine Seite.
Im FE sollen sich die Mitglieder einloggen können und auch ihre Daten ändern können (als Modul). Eigentlich genau so, wie in communido.net. Weiter sollen alle Mitglieder gelistet werden und per Klick werden alle Daten dieses Mitgliedes angezeigt (weiteres Modul). Auch Gruppen soll es geben, Vorstand und Mitglieder.
Wie auch bei communido soll es die Möglichkeit einer Anmeldung (Modul) geben. Diese Daten werden in die Standard-Gruppe (Mitglieder) eingetragen und erst durch den Admin bestätigt, der durch eine Mail von der Anmeldung in Kenntnis gesetzt wird.
Auch soll es Formulare geben, Mail an Mitglieder, Vorstand (auch Modul).
Derzeit habe ich die FE-Plugins Email, Homepage, Address integriert, was auch wunderbar funktioniert. Ich denke, dass ich auf dieser Basis auch weitere Optionen selbst einbauen kann (Konto, BLZ etc.).
Natürlich hätte ich gerne, dass das Formular zum Ändern der eigenen Daten genauso dynamisch reagiert (bei neuem Plugin), wie im BE.
Das zweite Problem ist sicher, dass die FEuser nicht automatisch Newsletter-Empfänger sind ...
Viele Wünsche, aber fragen kostet ja nix. Gibt es eine solche Lösung bereits (oder ähnlich) und stellt das der (die) jenige zur Verfügung. Das Budget ist denkbar knapp.
Nun bin ich ja mal gespannt,
viele Grüsse aus Konstanz, Uwe
Nun, wenn Du die Newsletter-Module zur Anmeldung nutzt, kann ein E-Mail-Account optional gleichzeitig als Newsletter-Empfäner und als FrontendUser-Account eingetragen werden (inkl. Aktivierung usw.). Siehe dazu die Informationen zu den Modulen (Signatur).
Allerdings wird der FE-User nur in die Standardgruppe eingetragen - zusätzliche Angaben muss man in das Modul einprogrammieren.
Bei Communido wird genau diese Technik verwendet, allerdings ist sie nicht dahingehend überprüft, ob sie mit der Plugin-Technik harmoniert (da muss man dann aber nur die eine oder andere Typkennung ändern):
(nur der Code nach if (!$frontendusers->userExists($email)) { im Handler-Output, ergänzt um Felder für Nickname und Anzahl der Teilnehmer)
Das "Change Profile"-Modul kann ich auf Wunsch mal zur Verfügung stellen, das ist aber hier zu kompliziert zum posten.
Es sei erwähnt, dass ich mit dem Wissen heute das eine oder andere anders gestalten würde... (es ist also nicht perfekt).
Die Liste der Teilnehmer sieht z.B. so aus (nur Output):
(idnewsgroup 13 ist die hartcodierte Angabe für "Teilnehmer", nun ja)
Das SQL-Statement ist so gewaltig, da die Newsletter-Empfänger und die FEUser via E-Mail-Adresse (beim FEUser als Name) verknüpft und gleichzeitig zwei Properties ausgegeben werden sollten (nickname und Anzahl der Teilnehmer). Auch das würde ich heute anders gestalten...
Gruß
HerrB
Allerdings wird der FE-User nur in die Standardgruppe eingetragen - zusätzliche Angaben muss man in das Modul einprogrammieren.
Bei Communido wird genau diese Technik verwendet, allerdings ist sie nicht dahingehend überprüft, ob sie mit der Plugin-Technik harmoniert (da muss man dann aber nur die eine oder andere Typkennung ändern):
Code: Alles auswählen
if (!$frontendusers->userExists($email)) {
if ($frontenduser = $frontendusers->create($email)) {
if ($_REQUEST["nickname"] != "") {
$nickname = $_REQUEST["nickname"];
$nickname = substr($nickname, 0, 200);
} else {
$nickname = "None";
}
$properties->setValue("frontenduser", $frontenduser->get("idfrontenduser"), "frontend", "nickname", $nickname);
if ($_REQUEST["attendees"] != "" && is_numeric($_REQUEST["attendees"])) {
$properties->setValue("frontenduser", $frontenduser->get("idfrontenduser"), "frontend", "attendees", $_REQUEST["attendees"]);
} else {
$properties->setValue("frontenduser", $frontenduser->get("idfrontenduser"), "frontend", "attendees", "0");
}
Das "Change Profile"-Modul kann ich auf Wunsch mal zur Verfügung stellen, das ist aber hier zu kompliziert zum posten.
Es sei erwähnt, dass ich mit dem Wissen heute das eine oder andere anders gestalten würde... (es ist also nicht perfekt).
Die Liste der Teilnehmer sieht z.B. so aus (nur Output):
Code: Alles auswählen
<?php
$db = new DB_Contenido;
$lngNicks = 0;
$lngAttendees = 0;
$sql = "SELECT DISTINCT tblProperties.value AS NickName, tblProperties2.value AS Attendees FROM " .
$cfg["tab"]["properties"] . " tblProperties, " .
$cfg["tab"]["properties"] . " tblProperties2, " .
$cfg["tab"]["frontendusers"] . " tblFrontendUsers, ".
$cfg["tab"]["news_rcp"] . " tblRecipients, ".
$cfg["tab"]["news_groupmembers"] . " tblGroupMembers ".
"WHERE tblProperties.idclient = '" . $client . "' AND tblProperties2.idclient = '" . $client . "' AND " .
"tblProperties.itemtype = 'frontenduser' AND tblProperties.type = 'frontend' AND " .
"tblProperties2.itemtype = 'frontenduser' AND tblProperties2.type = 'frontend' AND " .
"tblProperties.name = 'nickname' AND tblProperties.itemid = tblFrontendUsers.idfrontenduser AND " .
"tblProperties2.name = 'attendees' AND tblProperties2.itemid = tblFrontendUsers.idfrontenduser AND " .
"tblFrontendUsers.username = tblRecipients.email AND tblRecipients.confirmed = '1' AND " .
"tblRecipients.idnewsrcp = tblGroupMembers.idnewsrcp AND " .
"tblGroupMembers.idnewsgroup = '13' ORDER BY tblProperties.value";
$db->query($sql);
while ($db->next_record()) {
$lngNicks = $lngNicks + 1;
$lngAttendees = $lngAttendees + $db->f("Attendees");
$strNickName = urldecode($db->f("NickName"));
echo $strNickName . " (" . $db->f("Attendees") . ")<br />";
}
echo "<br />Gesamt: ".$lngNicks." Teilnehmer mit ".$lngAttendees." Personen. Es werden nur Teilnehmer mit bestätigter E-Mail-Adresse aufgeführt.";
?>
Das SQL-Statement ist so gewaltig, da die Newsletter-Empfänger und die FEUser via E-Mail-Adresse (beim FEUser als Name) verknüpft und gleichzeitig zwei Properties ausgegeben werden sollten (nickname und Anzahl der Teilnehmer). Auch das würde ich heute anders gestalten...
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Und was hier drüber steht und der Hinweis auf die Frontend-User-Plugins genügt nicht als Ansatz?
Gruß
HerrB
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Lieber HerrB,HerrB hat geschrieben:Und was hier drüber steht und der Hinweis auf die Frontend-User-Plugins genügt nicht als Ansatz?
ich muss gestehen, dass ich hier mit meinem Latein am Ende bin
Plugins habe ich angelegt und es funzt auch. Was mir fehlt ist die Ausgabe der Liste der FE-User als Tabelle und die Bearbeitung des eigenen Profils. Gerne würde ich Deine Unterstützung annehmen. Wenn Du willst, gebe ich Dir die Zugangsdaten zu dem Projekt, dass Du einen Überblick gewinnst und mir sagen kannst, was es kosten würde...
Viele Grüsse, Uwe
Schicke er PM... Braucht aber.
Gruß
HerrB
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Hallo HerrB (natürlich nicht nur HerrB),
ich habe mir die Liste mal angesehen und auf meine Anwendung umgestrickt. Und es funktioniert auch. Das habe ich schon mal:
Nun meine Frage: wie schaffe ich es, dass alle Daten mit einer ID auch in einer Zeile landen?
Viele Grüsse, Uwe
ich habe mir die Liste mal angesehen und auf meine Anwendung umgestrickt. Und es funktioniert auch. Das habe ich schon mal:
Code: Alles auswählen
<?php
$db = new DB_Contenido;
$sql = "SELECT value, itemid FROM " .
$cfg["tab"]["properties"] .", ".
$cfg["tab"]["frontendusers"] . "
WHERE ".$cfg["tab"]["properties"].".itemid = ".$cfg["tab"]["frontendusers"].".idfrontenduser AND active = '1'";
$db->query($sql);
while ($db->next_record()) {
$strg_value = urldecode($db->f("value"));
echo $strg_value." - ";
echo "<br>";
}
?>
Viele Grüsse, Uwe
So, mal eine Hilfe:
Dieses Modul-Bruchstück gibt alle Frontend-Accounts (mit AIM-Nummer) einer bestimmten Gruppe aus. Die Gruppen-ID ist z.Z. manuell aus dem Backend zu ermitteln und im Code einzutragen (die 5 bei $oFEUsers->setWhere("FrontendGroupMemberCollection.idfrontendgroup", 5);).
Das dazugehörige Template sieht so aus (Style -> HTML Editor, Name: feuser_list.html):
Die notwendigen Angaben zu anderen Property-Feldern ($oFEUser->getProperty("aim", "address")) kann man dem Code der Plugin-Verzeichnisse entnehmen.
Noch ein Hinweis zum Eintragen bei Anmeldung via Newsletter-Anmeldung findet sich hier:
http://www.contenido.org/forum/viewtopi ... 5109#75109
Viel Erfolg.
Gruß
HerrB
Dieses Modul-Bruchstück gibt alle Frontend-Accounts (mit AIM-Nummer) einer bestimmten Gruppe aus. Die Gruppen-ID ist z.Z. manuell aus dem Backend zu ermitteln und im Code einzutragen (die 5 bei $oFEUsers->setWhere("FrontendGroupMemberCollection.idfrontendgroup", 5);).
Code: Alles auswählen
<?php
cInclude('classes', 'class.frontend.users.php');
cInclude('classes', 'class.template.php');
$oTpl = new Template;
$oTpl->reset();
$oFEUsers = new FrontendUserCollection;
$oFEUsers->link("FrontendGroupMemberCollection");
$oFEUsers->setWhere("FrontendGroupMemberCollection.idfrontendgroup", 5);
$oFEUsers->setOrder("FrontendUserCollection.username");
$oFEUsers->query();
while ($oFEUser = $oFEUsers->next()) {
$oTpl->set('d', 'NAME', $oFEUser->get("username"));
$oTpl->set('d', 'AIM', $oFEUser->getProperty("aim", "address"));
$oTpl->next();
}
echo $oTpl->generate('templates/feuser_list.html');
?>
Code: Alles auswählen
<table>
<!-- BEGIN:BLOCK -->
<tr>
<td>{NAME}</td>
<td>{AIM}</td>
</tr>
<!-- END:BLOCK -->
</table>
Noch ein Hinweis zum Eintragen bei Anmeldung via Newsletter-Anmeldung findet sich hier:
http://www.contenido.org/forum/viewtopi ... 5109#75109
Viel Erfolg.
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Hallo,
Vielen Dank für das Beispiel, hat super funktioniert. Nun bin ich an der Aufgabe Daten bearbeiten. Hier habe ich das Problem, dass ich nicht weiss, wie man die Daten aktualisiert. Das wird vermutlich in das form-Tag eingetragen. Wenn Du mir da noch einmal helfen könntest
Das habe ich: Die Daten des eingeloggten Users werden in einem Formular angezeigt.
Das ist das Template:
Ich hoffe, ich bin nicht zu penetrant ...
Viele Grüsse aus Konstanz, Uwe
Vielen Dank für das Beispiel, hat super funktioniert. Nun bin ich an der Aufgabe Daten bearbeiten. Hier habe ich das Problem, dass ich nicht weiss, wie man die Daten aktualisiert. Das wird vermutlich in das form-Tag eingetragen. Wenn Du mir da noch einmal helfen könntest
Das habe ich: Die Daten des eingeloggten Users werden in einem Formular angezeigt.
Code: Alles auswählen
<?php
cInclude('classes', 'class.frontend.users.php');
cInclude('classes', 'class.template.php');
$oTpl = new Template;
$oTpl->reset();
$oFEUsers = new FrontendUserCollection;
$oFEUsers->link("FrontendGroupMemberCollection");
#$oFEUsers->setWhere("FrontendGroupMemberCollection.idfrontendgroup", 5);
$oFEUsers->setWhere("FrontendGroupMemberCollection.idfrontenduser", $auth->auth["uid"]);
$oFEUsers->setOrder("FrontendUserCollection.username");
$oFEUsers->query();
while ($oFEUser = $oFEUsers->next()) {
#$oTpl->set('d', 'NAME', $oFEUser->get("username"));
$oTpl->set('d', 'TITEL', $oFEUser->getProperty("titel", "address"));
$oTpl->set('d', 'VORNAME', $oFEUser->getProperty("vorname", "address"));
$oTpl->set('d', 'NACHNAME', $oFEUser->getProperty("nachname", "address"));
$oTpl->set('d', 'STRASSE', $oFEUser->getProperty("strasse", "address"));
$oTpl->set('d', 'POSTLEITZAHL', $oFEUser->getProperty("postleitzahl", "address"));
$oTpl->set('d', 'ORT', $oFEUser->getProperty("ort", "address"));
$oTpl->set('d', 'GEBOREN', $oFEUser->getProperty("geboren", "address"));
$oTpl->set('d', 'TELEFON', $oFEUser->getProperty("telefon", "address"));
$oTpl->set('d', 'FAX', $oFEUser->getProperty("fax", "address"));
$oTpl->set('d', 'MOBIL', $oFEUser->getProperty("mobil", "address"));
$oTpl->set('d', 'EMAIL', $oFEUser->getProperty("email", "address"));
$oTpl->set('d', 'HOMEPAGE', $oFEUser->getProperty("homepage", "address"));
$oTpl->next();
}
?>
<form method="post" action="<?php echo "front_content.php?idcatart=".$idcatart; ?>" name="frontend_save_user" id="frontend_save_user">
<?php
echo $oTpl->generate('templates/feuser-edit.html');
?>
</form>
Code: Alles auswählen
<table width="" height="" cellpadding="3" cellspacing="0" border="0">
<!-- BEGIN:BLOCK -->
<tr><td class="textklein"><strong>Titel</strong></td><td class="textklein"><input type="text" name="Titel" id="titel" value="{TITEL}"></td></tr>
<tr><td class="textklein"><strong>Vorname</strong></td><td class="textklein"><input type="text" name="Vorname" id="vorname" value="{VORNAME}"></td></tr>
<tr><td class="textklein"><strong>Nachname</strong></td><td class="textklein"><input type="text" name="Nachname" id="nachname" value="{NACHNAME}"></td></tr>
<tr><td class="textklein"><strong>Postleitzahl</strong></td><td class="textklein"><input type="text" name="Postleitzahl" id="postleitzahl" value="{POSTLEITZAHL}"></td></tr>
<tr><td class="textklein"><strong>Ort</strong></td><td class="textklein"><input type="text" name="Ort" id="ort" value="{ORT}"></td></tr>
<tr><td class="textklein"><strong>Strasse / Nr.</strong></td><td class="textklein"><input type="text" name="Strasse" id="strasse" value="{STRASSE}"></td></tr>
<tr><td class="textklein"><strong>Geburtsdatum</strong></td><td class="textklein"><input type="text" name="Geboren" id="geboren" value="{GEBOREN}"></td></tr>
<tr><td class="textklein"><strong>Telefon</strong></td><td class="textklein"><input type="text" name="Telefon" id="telefon" value="{TELEFON}"></td></tr>
<tr><td class="textklein"><strong>Fax</strong></td><td class="textklein"><input type="text" name="Fax" id="fax" value="{FAX}"></td></tr>
<tr><td class="textklein"><strong>Mobil</strong></td><td class="textklein"><input type="text" name="Mobil" id="mobil" value="{MOBIL}"></td></tr>
<tr><td class="textklein"><strong>Email</strong></td><td class="textklein"><input type="text" name="eMail" id="email" value="{EMAIL}"></td></tr>
<tr><td class="textklein"><strong>Homepage</strong></td><td class="textklein"><input type="text" name="Homepage" id="homepage" value="{HOMEPAGE}"></td></tr>
<tr><td colspan="2" align="right"><input type="submit" value="speichern"/></td></tr>
<!-- END:BLOCK -->
</table>
Viele Grüsse aus Konstanz, Uwe