Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Daten über aktuellen User bei Profilaufruf?

Eingetragen von Vasco (89)
am 17.04.2007 - 20:36 Uhr in
  • Allgemeines zu Drupal

Hallo Zusammen,

ich bin gerade dabei mein Userprofil etwas zu tunen und bin nun an dem Punkt angekommen, wo ich prüfen muss, ob der User, der sich das anschaut der Eigentümer des Profils ist oder ein anderer.

Grundsätzlich ist ja $user->uid die richtige Adresse (so wie ich das mitbekommen habe) aber das Array wird beim Profil mit den Daten geflutet vom aktuellen Profil.
Aber wie komme ich denn nun an die uid vom Betrachter? Selbst die Session scheint keine Infos über den aktuellen Nutzer zu speichern und auch sonst finde ich keine globale Variable, die erfolgsversprechend aussieht.

Zur Info: ich habe meine Profilseite mit einem Template versehen, wie in http://drupal.org/node/35728 und darin möchte ich die Unterscheidung treffen.

Danke

‹ Wie mache ich $node verfügbar in Blöcken? Verzeichnis-Struktur nachbilden ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Du willst also den UID von

Eingetragen von yippi (24)
am 17.04.2007 - 22:35 Uhr

Du willst also den UID von den eingeloggten User?
mit $GLOBALS['user']->uid kannst du das erreichen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

user-profile.tpl.php

Eingetragen von md (3717)
am 17.04.2007 - 22:57 Uhr

Wahrscheinlich hast du in deiner template.php das user-profile folgendermaßen überschrieben:

<?php
function phptemplate_user_profile($user, $fields = array()) {
    return
_phptemplate_callback('user-profile', array('user' => $user, 'fields' => $fields));

}
?>

Wenn du jetzt, wie es normal wäre, in der 'user-profile.tpl.php', auf den user zugreifen möchtest, der sich das Profil anschaut hast du mit:

<?php
global $user;
$user->uid
?>

ein Problem.

Wenn du aber in deiner template.php z.B. folgendes schreibst:

<?php
function phptemplate_user_profile($user, $fields = array()) {

    return
_phptemplate_callback('user-profile', array('besucher' => $user, 'fields' => $fields));

}
?>

kannst du auf die Profilfelder mit $besucher->FELDNAME zugreifen und auf den user der sich das Profil anschaut mit: $user->uid.

Übrigens: der erste Parameter 'user-profile' ist auch beliebig. Man kann dort auch 'benutzerprofil' schreiben. Dann muss man allerdings eine 'benutzerprofil.tpl.php' benutzen.

Ich hoffe, das klärt mal einige Fragen zu Themeable Functions.

vg
--
md - DrupalCenter

mdwp

  • Anmelden oder Registrieren um Kommentare zu schreiben

ja, da habe ich noch eine

Eingetragen von yippi (24)
am 17.04.2007 - 23:22 Uhr

ja, da habe ich noch eine Frage. Was ist denn der Unterschied, wenn ich statt _profile benutzerprolie schreibe und kann ich denn mit **.tpl.php beliebige Seiten eigentlich aendern? zum Beispiel die Imageseite oder so? oder eine View Seite?
thx
yippi

  • Anmelden oder Registrieren um Kommentare zu schreiben

Seiten Templates

Eingetragen von md (3717)
am 18.04.2007 - 00:01 Uhr

Ein sehr 'verstecktes' Feature der Drupal Template Engine ist folgendes:
Du kannst für jede Seite ein eigenes Template anlegen.
Beispiel:
page-front.tpl.php für die Homepage
page-blog.tpl.php für Blogseiten
usw.

Für Views gibts den Template Generator.

vg
--
md - DrupalCenter

mdwp

  • Anmelden oder Registrieren um Kommentare zu schreiben

template Generator? kannst

Eingetragen von yippi (24)
am 18.04.2007 - 00:23 Uhr

template Generator?
kannst du das etwas erläutern bitte? Ich bin grad ganz müde, und ich will nicht mehr suchen. Oder ich kann auch morgen wieder suchen..
danke schon mal für den Tipp!
gute Nacht

  • Anmelden oder Registrieren um Kommentare zu schreiben

Views Theme Wizard

Eingetragen von md (3717)
am 18.04.2007 - 09:40 Uhr

Unter 'admin/build/views' findest du oben den Reiter 'Theme Wizard'.
Damit kannst du sehr einfach ein Template für eine View, egal ob Block- oder Pageview, erzeugen. Das ist sehr hilfreich, da alleine die richtige Namensgebung für ein View-Template eine Herausforderung ist.

vg
--
md - DrupalCenter

mdwp

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi MD, das klingt

Eingetragen von Vasco (89)
am 18.04.2007 - 18:37 Uhr

Hi MD,

das klingt einleuchtend, klappt aber nicht ;)
Der Grund: das neue Array ist leider nicht global verfügbar (entgegen user) und ist somit im theme nicht verfügbar.

Leider versagen meine Bemühungen das global verfügbar zu machen...

Also um weitere Infos wäre ich dankbar!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Was genau

Eingetragen von md (3717)
am 18.04.2007 - 18:42 Uhr

Was genau ist denn bei dir wo nicht verfügbar?

vg
--
md - DrupalCenter

mdwp

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe zur besseren

Eingetragen von Vasco (89)
am 18.04.2007 - 18:56 Uhr

Ich habe zur besseren Übersicht Funktionen erstellt, die komplexe Ausgaben händeln. Und in diesen Funktionen ist das neue Array nicht verfügbar.

EDIT: Problem gelöst, mit dem Übergeben des Userobjekts an die Funktion geht es (zwar erst beim 2. Anlauf, aber das kann auch ein Cache-Problem gewesen sein).

  • Anmelden oder Registrieren um Kommentare zu schreiben

User Object

Eingetragen von md (3717)
am 18.04.2007 - 21:14 Uhr

Nur nochmal zur Klarstellung für alle anderen: es ist hier nicht vom globalen User, sondern von dem User dessen Profil gerade aufgerufen wird, die Rede.

vg
--
md - DrupalCenter

mdwp

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also so ganz klappt das

Eingetragen von Vasco (89)
am 21.04.2007 - 12:27 Uhr

Also so ganz klappt das nocht nicht.

Ich brauche ja einen Vergleich in etwa wie:

If (aktueller_User == Profilinhaber)
{
#mach irgendwas
}
else
{
#mach halt was anderes
}

Das ist bisher mit deinen Vorschlägen nicht umsetzbar. Wenn ich die template.php wie empfolen umschreibe existiert das Array zu $user nicht in meinem Profiltemplate. In meinem neuen Array hingegen finden sich nur Daten zu dem Inhaber des Profils, aber nicht zu dem aktuellen Betrachter.
Somit bin ich noch nicht in der Lage die beiden User-IDs miteinander zu vergleichen (was ich ja eigenlicht möchte).

Danke fuer Hinweise.

Vasco

EDIT:
Man muss $user vorher als global setzen, also einfach ein "global $user;" am Anfang der Datei (in den PHP-Bereich) setzen und es tut dann auch.
*grml* das war definitiv ein Krampf, danke an alle die so viel Geduld mit mir hatten ;)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Richtig lesen

Eingetragen von md (3717)
am 21.04.2007 - 13:13 Uhr

Hättest du den dritten Post von mir richtig gelesen wäre das klar gewesen. Oder kannst du die Themeable Function so überschreiben:

<?php
function phptemplate_user_profile($user, $fields = array()) {
    return
_phptemplate_callback('user-profile', array('user' => $user, 'fields' => $fields));
}
?>

und dann in deiner Template Datei
global $user nutzen ???

vg
--
md - DrupalCenter

mdwp

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • gepatchte PHP Version 7.4 für Windows
  • Рейтинг онлайн казино 2026 — полный разбор
  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
Weiter

Neue Kommentare

  • Danke Schmittrich. Die Frage
    vor 9 Stunden 57 Minuten
  • Keine Antwort auf die Frage nach dem Woher
    vor 12 Stunden 37 Minuten
  • Danke ich werde mir die
    vor 5 Wochen 5 Tagen
  • Vielen Dank für Ihren
    vor 6 Wochen 23 Stunden
  • Composer ist sehr ratsam
    vor 6 Wochen 2 Tagen
  • Vielen Dank für den
    vor 6 Wochen 5 Tagen
  • Die alten CMS Vergleiche von contentmanager.de
    vor 6 Wochen 5 Tagen
  • Gut gemacht
    vor 6 Wochen 5 Tagen
  • Layout Builder etc. z.B. für Landing Pages
    vor 6 Wochen 5 Tagen
  • Links
    vor 7 Wochen 1 Tag

Statistik

Beiträge im Forum: 250320
Registrierte User: 20570

Neue User:

  • AnthonyhoF
  • CasinoTopsam
  • Philiphelve

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 11 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