User profile - Gestaltung des Bearbeiten Formulars (user/#/edit)
am 12.12.2007 - 08:19 Uhr in
Hallo Leute,
ich habe diesen Beitrag gefunden: http://drupal.org/node/35728 (Customising the user profile layout). Dort steht sehr viel darüber, wie ich user/# (also die Anzeige des Profils) gestalten kann. Auch habe ich http://shellmultimedia.com/tutorials/user-profiles-version-2 gelesen, doch ich finde das zu komplex und umfangreich für meine Zwecke (habe es testweise integriert). Ich suche nach einem Weg, die Seite user/#/edit/ zu gestalten. Gibt es eine Möglichkeit? Falls ja, welche? Muss ich mit form_alter() arbeiten? Falls ja, wo muss ich da ansetzen? Ich bin für jede Hilfe dankbar. So wie die Seite jetzt einem Nutzer angeboten wird, kann man das echt nicht online stellen :(
Viele Grüße
Björn
- Anmelden oder Registrieren um Kommentare zu schreiben
Das Tutorial von Michelle
am 12.12.2007 - 09:47 Uhr
Das Tutorial von Michelle ist gar nicht so schwer wie es auf den ersten blick wirkt. Ich hab zwar beim ersten Versuch auch noch den ein oder anderen Umweg gemacht, es letztendlich aber doch zum Laufen bekommen :-). Falls die Sprache (ist ja vollständig in Englisch) eine Hürde ist, es gibt seit geraumer Zeit eine Übersetzung im Benutzerhandbuch: http://www.drupalcenter.de/handbuch/6987 von Yavanna.
Versuch es doch erst mal damit, wenn du irgendwo hängst meld dich einfach noch mal.
Der Vorteil ist du bist dank CCK and Views sehr Flexibel was die einzelnen Inhalte und die Gestaltung deiner Profile angeht.
über CSS
am 12.12.2007 - 09:52 Uhr
Hi Björn,
wenn es nur um die Gestaltung geht versuche es doch über CSS. Das rendern des Fromulares erfolgt über das module user ist aber Drupal core und daher besser nicht zu verändern.
Dirk
Hallo auch,
am 12.12.2007 - 14:54 Uhr
Hallo auch,
mir geht es nicht unbedingt um die reine Gestaltung via CSS. Das bekomme ich hin (habe eigenes Theme erstellt). Also kein Problem. Mir geht es eher um die Reihenfolge der fieldsets (weight) und um ihr generelles Erscheinen. Ich finde, manche Nutzer-Einstellungen sind echt überflüssig.
Das Tutorial von Michelle habe ich durchgearbeitet und umgesetzt. Sind mir einfach zu viele Module und Änderungen in Template Dateien. Englisch ist kein Problem. Aber danke für das Angebot Mattes.
Ich habe jetzt folgendes gemacht. Ich habe ein eigenes Modul erstellt. Über den hook form_alter() passe ich die entsprechenden weights an und kann auch den Status der fieldsets beeinflussen. Damit kann ich das Ganze schonmal ein wenig aufwerten. Bin mir aber aktuell noch nicht sicher, ob ich auf profiles verzichte und auf nodeprofiles (Tut vpn Michelle) umsteige. Die Geschichte mit CCK gefällt mir gut. Vor allem, weil ich auch dann problemlos die ganze Sache mehrsprachig habe, Taxonomy verwenden kann und Felder und Kategorien locker flockig umsortieren kann. Wie ich gelesen habe, kann man Kategorien im profile.module nicht umsortieren. Mehrsprachigkeit erfordert einige Änderungen am profile.module...
Hat jemand in diesem Zusammenhang eine Idee, wie man die Tabs umbenennen kann. Jetzt steht ja da "View", "Edit" und "Edit Profile". Das verwirrt ja auch wieder...
Grüße und Danke
Björn
Auch noch andere Module angucken
am 12.12.2007 - 15:49 Uhr
Bei den Profil-Erweiterungs-Modulen in Drupal herrscht grosse Verwirrung. Schau dir auch noch "bio" an und suche etwas auf Drupal.org. Selbst Michelle schlägt irgendwo vor, noch ein anderes (habe Namen jetzt vergessen) zu nehmen. Typisches Beispiel von zu vielen redundanten Modulen.
Das geht jetzt solange, bis einer endlich das komplette Profil-Modul umschreibt und die fehlenden Funktionalitäten ergänzt. Das beantwortet zwar nicht deine Frage, aber da ich gerade kürzlich unter diesem Durcheinander litt, bedenkenswert.
Drupal - the Linux of the Web
Ich habe da ein sehr guten
am 12.12.2007 - 16:03 Uhr
Ich habe da ein sehr guten Weg gefunden, das bio_modul wird dort verwendet usw! wenn ich zeit habe, werd ich mal ein eignes TuT machen!
------------------------------------------
http://kochazubi.net
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.
anderes Module
am 12.12.2007 - 16:22 Uhr
Hi Spartacus,
hier gibt es noch ein Module für "user as node", das so ähnlich wie bio funktioniert, aber es hat ein paar mehr Features, wie auto creation. http://drupal.org/node/184868
Dirk
(user/#/edit)
am 03.01.2008 - 23:53 Uhr
Hallo zusammen,
würde die ursprüngliche Frage gerne wieder ins Leben rufen....
Habe einige Kategorien im Profil erstellt und dort mehrzeilige Felder eingefügt. Die werden als Reiter in den Kontoeinstellungen dargestellt, die mehrzeiligen Felder werden beim editieren "groß" dargestellt und es gibt die Möglichkeit diese zu verkleinern. Gibt es eine Möglichkeit sie "klein" (einzeilig) darzustellen und die Möglichkeit zu geben sie zu vergrößern?
Für Punkte wie Sternzeichen oder Geburtsdatum habe ich ein Listenauswahlfeld erstellt, diese erscheinen einfach untereinander. Kann ich diese Kategorien irgendwie themen so das diese Punkte nebeneinander aufgeführt werden und die User nicht so viel scrollen müssen?
Zudem würde ich den Edit-Bereich "Kontoeinstellungen" gerne verändern! Zu Beginn würde es mir schon helfen wenn ich die Punkte wie "Einstellungen für private Nachrichten" erstmal geschlossen darstellen könnte um die Darstellung einwenig übersichtlicher zu gestalten.
Würde mich sehr freuen wenn mir jemand zu dem ein oder anderen Punkte einen Tipp geben könnte!
Gruß, der Jenzen!!
Hallo jenzen, leider kann
am 09.01.2008 - 15:37 Uhr
Hallo jenzen,
leider kann ich dir nicht zu allen Punkten antworten. Eine Möglichkeit, um die Drupal Profilseiten zu gestalten, wäre es, ein eigenes Modul zu schreiben und dort mit hook_form_alter() zu hantieren. Das geht sehr einfach. Im Beitrag http://drupal.org/node/17540 beschreibt ein netter User, wie man ein solches Modul anlegt, um die Formulare für das Registrieren und Editieren zu ändern. Beispielsweise könntest du so auf der Profil-Edit Seite die fieldset Einstellungen ändern (geschlossen oder geöffnet). Du musst lediglich das Modul kennen, dass das entsprechende fieldset erzeugt, danach musst du mittels deines neuen Moduls das fieldset ansprechen und für den Parameter "collapsed" TRUE oder FALSE setzen. So könnte man sicherlich auch die Ausgangsgröße einer Textara ändern.
Grüße
Björn
poste doch mal ne URL
am 09.01.2008 - 18:47 Uhr
Hi Jenzen,
poste doch mal ne URL dann kann ich dir mal richtig helfen.
Dirk
Es geht doch viel, viel
am 20.08.2008 - 00:20 Uhr
Es geht doch viel, viel einfacher!!!!!!!!!!!!!!!!!:
Folgende Funktion in die template.php - datei einfügen:
<?php
function phptemplate_user_edit($form) {
return _phptemplate_callback('user_edit', array('user' => $user, 'form' => $form));
}
?>
Dann die Datei user_edit.tpl.php erstellen und folgenden Code reinschreiben:
<?php
print "<code>"; print_r(array_values($form));print "</code>";
?>
Dann eine Bearbeiten Seite öffnen, diese wird einen unleslichen Text enthalten. Den Quelltext öffnen und ab den Tags "code bis /code" die Arrays notieren.
Das wichtige ist das:
[#parents] => Array
(
[0] => node_abc_de
)
Hier bekommst du die Liste mit den verfügbaren Arrays. Dann kannst du mit drupal render folgendes in die user_edit.tpl.php - datei einfügen:
<?php
print drupal_render($form['node_abc_de']);
?>
Der Text in den geschweiften Klammern, ist der in den Parents. Wenn du also jetzt beispielsweise folgende Parents hättest:
[#parents] => Array
(
[0] => node_abc_de
[1] => xyz
[2] => drupaller3000
)
müsstest du es so aufrufen:
<?php
print drupal_render($form['node_abc_de']['xyz']['drupaller3000']);
?>
Damit dürftest du machen können, was du willst. Ich benutze es selber erfolgreich(Drupal 5.7). Wenn du zusätzliche Profilfelder nutzt, musst du in jeden einzelnen Tab wechseln, den array code rauskopieren, und die entsprechenden Arrays rausschreiben. Bei den Kategorien der Profilfelder kommt immer als erstes der Name der Kategorie und dann der Name des Profilfeldes.
Leider habe ich es bis jetzt noch nicht geschafft, alle Felder inklusive der zusätzlichen auf eine Seite zu packen.
Lösung für Drupal 6.x
am 25.08.2009 - 19:45 Uhr
...gibt es eine schöne Lösung für Drupal 6.x? Ich möchte die Seite(n) user/%/edit anpassen. Hab folgendes probiert:
template.php
<?php
function standard_theme() {
return array( 'user_register' => array('template' => 'user-register', 'arguments' => array('form' => NULL)),
'user_login' => array('template' => 'user-login', 'arguments' => array('form' => NULL)),
'user_pass' => array('template' => 'user-pass', 'arguments' => array('form' => NULL)),
'user_profile_form' => array('template' => 'user-profile-form', 'arguments' => array('form' => NULL)));
}
?>
Dann habe ich eine user-profile-form.tpl.php erstellt... Das hat für die Loginseite, die Registrierseite und die Passwort-Vergessen Seite super funktioniert - nicht aber hier...
Jemand ne Lösung - verzweifele etwas :(