Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

Gestaltung vom user profile

Eingetragen von falloutboy (77)
am 14.09.2006 - 22:40 Uhr in
  • Themes & Theming

Hallo, nachdem ich auf der englischen Seite keine Antwort auf meine Frage gefunden habe, will ich hier einmal nachfragen.

Ich möchte nicht das user_module verändern, sondern mit templates arbeiten.

1. Wie kann ich diesen Code in eine user_profile.tpl.php umwandeln?

Wichtig ist mir, dass wenn ich ein Feld mit %value gekennzeichnet habe, es auch als Link dargestellt wird, sodass ich auf die Profileliste gelange.

function theme_user_profile($account, $fields) {
  $output = '<div class="profile">';
  $output .= theme('user_picture', $account);
  foreach ($fields as $category => $items) {
    if (strlen($category) > 0) {
     
    }
    $output .= '<dl>';
    foreach ($items as $item) {
      if (isset($item['title'])) {
        $output .= '<dt class="'. $item['class'] .'">'. $item['title'] .'</dt>';
      }
      $output .= '<dd class="'. $item['class'] .'">'. $item['value'] .'</dd>';
    }
    $output .= '</dl>';
  }
  $output .= '</div>';

  return $output;
}

2. Wie kann ich den Begriff "Mitglied seit: 56 Minuten 35 Sekunden" in "Eintrittsdatum am: 14.09.06" verändern?

Für Hilfe wäre ich sehr dankbar.

‹ Frage zu YAML Streifen in Themes "Garland", "Minelli" bzw. "Salamander" ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Der erste Punkt hat sich

Eingetragen von falloutboy (77)
am 23.09.2006 - 20:10 Uhr

Der erste Punkt hat sich erledigt.

Nur habe ich noch keine Lösung für den zweiten Punkt gefunden.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hast Du es inzwischen

Eingetragen von sanduhrs (1285)
am 26.09.2006 - 11:45 Uhr

Hast Du es inzwischen hinbekommen?
Die Funktion dafür sähe fogendermaßen aus:

function phptemplate_user_profile($account, $fields) {
  $output = '<div class="profile">';
  $output .= theme('user_picture', $account);
  foreach ($fields as $category => $items) {
    if (strlen($category) > 0) {
    }
    $output .= '<dl>';
    foreach ($items as $item) {
      if (isset($item['title'])) {
        $output .= '<dt class="'. $item['class'] .'">'. $item['title'] .'</dt>';
      }
      if ($item['title'] == t('Member for')) {
        $output .= '<dd class="'. $item['class'] .'">'.format_date($account->created, 'small').'</dd>';
      } else $output .= '<dd class="'. $item['class'] .'">'. $item['value'] .'</dd>';
    }
    $output .= '</dl>';
  }
  $output .= '</div>';
  return $output;
}

und kommt in die Datei template.php in Deinem Themeverzeichnis, einfach anlegen, wenn nicht vorhanden.
Aber das hast Du ja bereits rausgefunden.

Den Ausdruck format_date($account->created, 'small') kannst Du auch als format_date($account->created, 'custom', 'd.m.y') notieren, um absolute Kontrolle über das Format des Datums zu erhalten.

vg

--
sanduhrs - drupalcenter
-----------------------
http://erdfisch.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo, danke für die Hilfe,

Eingetragen von falloutboy (77)
am 26.09.2006 - 22:00 Uhr

Hallo, danke für die Hilfe, ich hab es so gemacht wie du es beschrieben hast.
Nur steht bei mir jetzt als Datum 01.01.70.
Was muß ich jetzt noch ändern?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Uhr stellen ;) Keine

Eingetragen von sanduhrs (1285)
am 29.09.2006 - 17:43 Uhr

Die Uhr stellen ;)

Keine Ahnung, bei mir funktioniert es wie gewünscht, auch mit dem richtigen Datum - vielleicht hast Du irgendwo einen Tippfehler?!

vg

--
sanduhrs - drupalcenter
--------------------------------
http://erdfisch.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für Deine Hilfe ich

Eingetragen von falloutboy (77)
am 30.09.2006 - 18:52 Uhr

Danke für Deine Hilfe ich hab die Ursache gefunden.

Bei Dir heißt es account und bei mir user.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ah, alles klar. in der

Eingetragen von sanduhrs (1285)
am 30.09.2006 - 19:17 Uhr

Ah, alles klar. in der Ursprungsfunktion hieß es function phptemplate_user_profile($account, $fields) {}, entsprechend hieß die Variable $account. Aber Du hast Recht, denn die Benutzung der Variable $user ist konsistenter.

vg

--
sanduhrs - drupalcenter
--------------------------------
http://erdfisch.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke nochmal für Deine Hilfe.

Eingetragen von falloutboy (77)
am 30.09.2006 - 19:43 Uhr

Kennst Du Dich auch mit dem organic group modul aus?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Am besten machst Du dafür

Eingetragen von sanduhrs (1285)
am 30.09.2006 - 19:49 Uhr

Am besten machst Du dafür einen neuen thread auf.
vg

--
sanduhrs - drupalcenter
--------------------------------
http://erdfisch.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Letzter Login im Block

Eingetragen von Helge (404)
am 24.02.2007 - 12:06 Uhr

Hi zusammen,
wollte den Code grad mal in einen Block integrieren, der auf der ProfilSeite eines Benutzers angezeigt werden soll.

<div class="fields">Letzter Login: <?php print (format_date($user->access, 'custom', 'd.m.y'));?></div>

Aber die Ausgabe stimmt nicht: 01.01.70

Bin mir nicht sicher, ob der Code überhaupt einen / den richtigen Benutzer ausgibt.
Sieht mir nach einem StandartWert aus.
Ich muss dem Block doch irgendwie mitteilen, dass er das Datum des Benutzers ausgeben soll, dessen Profil gerade offen ist.
Das geht geht glaub ich mit $userid = arg(1); hab ich irgendwo im Forum gelesen.

Jemand `ne Idee?

Gruß
Helge

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Helge, 1.1.1970 ist

Eingetragen von Vasco (89)
am 28.03.2007 - 20:10 Uhr

Hallo Helge,

1.1.1970 ist das Datum zum "timestamp"=0, sprich dein Wert $user->access liefert als Ergebnis 0

Dies kann 2 Gründe haben:
1) in der Datenbank steht tatsächlich 0, was aber nicht zu erwarten ist
2) die Zuweisung der Variable passt nicht und er liefert 0 (Boolscher Wert, somit "Falsch" als "Fehler" zurück)

Da ich in Drupal recht neu bin, kann ich dir keinen kompletten Workarround geben, aber so viel sei gesagt: in $user stecken alle Infos zum derzeitig angemeldeten User. Somit sollte $user -> access auch den Zeitstempel fuer den letzten Login, des aktuell registrierten Users darstellen.

Somit meine Vermutung: entweder $user ist falsch, oder das access. Wass passiert denn, wenn du dir das als Text einfach mal ausgeben lässt? Steht dann da 0 oder tatsächlich ein ich glaube 7 stelliger Zahlenwert?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Re: Letzter Login im Block

Eingetragen von rst (343)
am 28.03.2007 - 22:44 Uhr

<?php
// Aktueller Benutzer
global $user;

// Lade Profildaten
$profile = user_load(array('uid' => arg(1)));

// Ausgabe der letzten Anmeldung
print(format_date($profile->access, 'custom', 'd.m.y', $user->timezone));
?>

Gruss, Ralf

---
Ralf Stamm - drupalcenter

  • Anmelden oder Registrieren um Kommentare zu schreiben

Komisch, jetzt funtzts

Eingetragen von Helge (404)
am 29.03.2007 - 11:44 Uhr

Servus zusammen,

habt vielen Dank für eure Antworten.

Habe gerade Ralf seinen Code ausprobiert.
Er funktioniert natürlich ;o)

Danach hatte ich mal meinen eigenen Code (s.o) ausprobiert und nun geht der auch.
Versteh ich nicht.
Als ob Ralf sein Script dem System beigebracht hätte, nun auch meinen Code zu akzeptieren.

Egal was passiert ist, es funzt jedenfalls.

Habt Dank,
ich wünsch Euch was!

Gruß
Helge

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo zusammen, folgender

Eingetragen von Jenzen (216)
am 23.10.2007 - 09:47 Uhr

Hallo zusammen,
folgender Code gibt mir das Datum des letzten Log in an:

<?php
// Aktueller Benutzer
global $user;

// Lade Profildaten
$profile = user_load(array('uid' => arg(1)));

// Ausgabe der letzten Anmeldung
print(format_date($profile->access, 'custom', 'd.m.y', $user->timezone));
?>

Würde jedoch gerne anzeigen wann der Account erstellt wurde (quasi seit wann man Mitglied ist). Der oben auf der Seite genannte Code funktioniert zwar, doch es erscheint bei Neuanmeldungen das Datum 01.01.70. Würde also gerne den hier stehenden Code anpassen da er prinzipiell funktioniert. Anstatt profile->access account->created führt jedoch nicht zu einer Lösung. Würde mich freuen wenn mir jemand einen Tipp geben könnte was ich eintragen muss.

Gruß, der Jenzen!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das geht wie folgt

Eingetragen von Holzi (229)
am 23.10.2007 - 10:49 Uhr

Hi ,
schau mal auf die Seite http://drupal.org/node/48554 dort wird es erklärt für user-profil.tpl.php

MfG

Michael Finger
Holztechniker

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke!

Eingetragen von Jenzen (216)
am 23.10.2007 - 22:08 Uhr

Hi,
danke dir für den Link. Konnte den Fehler beheben und jetzt funktioniert die Ausgabe einwandfrei.

Gruß, der Jenzen!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Letzter Zugriff in Profile

Eingetragen von janosch73 (34)
am 09.12.2008 - 16:47 Uhr

Hallo zusammen,

ich würde mir gerne den Letzten Zugriff in den Profilen ausgeben lassen, aber irgendwie funzt das mit diesem code nicht*grübel
hat da jemand eine Idee warum nicht!?
habe den code in meine template.php eingefügt ich bekomme aber keine ausgabe!
für einen vorschlag wäre ich dankbar.
achso ich benutze drupal 6

Gruß
Janosch

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 10 Stunden
  • Hey danke
    vor 2 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 6 Wochen 7 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 1 Tag

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 30 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association