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

Username in page.tpl.php

Eingetragen von Stoke (32)
am 10.11.2007 - 20:28 Uhr in
  • Themes & Theming
  • Drupal 5.x

Hallo,

ich möchte gerne den Benutzernamen auf jeder Seite anzeigen, leider hab ich nirgends eine Lösung dafür gefunden.
Ich hab es so versucht:

Diese Funktion in template.php:

<?php
function phptemplate_user_welcome() {
    global
$user;
   
    if (
$user->userid)
        return
'Hallo, <a href="user/'.$user->userid.'">'.$user->username.'</a>.';
    else
        return
'Sie sind nicht angemeldet.';
}
?>

So rufe ich das ganze auf:

<?php
print phptemplate_user_welcome();
?>

Leider wird mir immer 'Sie sind nicht angemeldet.' angezeigt, woran kann das liegen?

tia,
Stoke

‹ $date in node.tpl.php formatieren Navigation Nebeneinander ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

else ist erfuellt

Eingetragen von quiptime (4972)
am 10.11.2007 - 20:38 Uhr
Zitat:

Leider wird mir immer 'Sie sind nicht angemeldet.' angezeigt, woran kann das liegen?

Das liegt daran weil bei der Abfrage else zutrifft.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das ist mir klar ;)

Eingetragen von Stoke (32)
am 10.11.2007 - 20:49 Uhr

Das ist mir klar ;)

Nur heißt dass dass userid false ist, somit nicht eingelogt.
Wenn ich aber eingelogt bin, müsste ich 1 haben, also true.

Wenn ich nur $user->username ausgebe kommt gar nix.

Ich habe aber irgendwo gelesen dass man von template.php auf die $user Variable zugreifen kann, deshalb wundere ich mich wieso das nicht geht :(

Gibts da nen Trick?

/edit:
Ich habe mich wohl ungünstig ausgedrückt, sorry.
Mein Problem ist nicht PHP, sondern wie ich an die Variable $user komm :)
Ich kenn mich leider mit der template engine nicht aus :/

  • Anmelden oder Registrieren um Kommentare zu schreiben

;-) Naja, mit global $user

Eingetragen von quiptime (4972)
am 10.11.2007 - 21:32 Uhr

;-)

Naja, mit global $user kommst Du an die Variable nicht ran. Vermutlich hast Du es auch schon ohne global versucht?

An welcher Stelle / zu welchem Zeitpunkt willst Du den User begruessen? Soll das "Welcome" immer zu sehen sein?

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Was kommt raus wenn du

Eingetragen von rapsli (1500)
am 10.11.2007 - 21:37 Uhr

Was kommt raus wenn du print_r($user) irgendwo im template drin machst?

___________________________
it's easier than you think
Raphael Schär
http://www.schaerwebdesign.ch
Facebook Gruppe Schweiz-CH: http://www.facebook.com/group.php?gid=5683015414

  • Anmelden oder Registrieren um Kommentare zu schreiben

Naja, ohne global kanns

Eingetragen von Stoke (32)
am 10.11.2007 - 22:02 Uhr

Naja, ohne global kanns nicht gehn.

Dieser Willkommenstext soll im header stehn, also auf jeder Seite.
Wenn ich print_r() mach kommt auch nix.

Welche Datei includet denn die template.php?
Ich müsste dort $user definieren, dann sollte es gehn.

Aber ich denk es geht auch irgendwie anders, bei Drupal braucht man ja anscheinend keine andere Datei als die template.php zu bearbeiten :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Problem geloest: $user->uid und $user->name

Eingetragen von quiptime (4972)
am 11.11.2007 - 00:33 Uhr

<?php
function user_welcome() {
    global
$user;
  
    if (
$user->uid) {
        return
'Hallo, <a href="user/'.$user->uid.'">'.$user->name.'</a>.';
    } else {
        return
'Sie sind nicht angemeldet.';
    }
}
?>

Der Wald und die Baeume. :-)

Ich habe es eben getestet. Die Funktion in die "template.php" und in der "page.tpl.php"

print user_welcome();

PS
Nenne die Funktion nicht phptemplate_user_welcome()

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke !!

Eingetragen von Stoke (32)
am 11.11.2007 - 13:30 Uhr

Danke, jetzt funktionierts :)

Die Variable für den Namen lautet übrigens $user->name.
Ich hab irgendwo von den beiden Variablen $user->userid und $user->username gelesen, war natürlich blöd dass ich das einfach so übernommen habe und nicht überprüft ob die überhaupt existieren.

Wieso soll ich die Funktion nicht phptemplate_xx() nennen? Gibts da nen bestimmten Grund dafür?
Ich hab mich einfach ans Namensschema der anderen Funktionen gehalten, die beginnen ja alle so.

  • Anmelden oder Registrieren um Kommentare zu schreiben

template.php - was geht?

Eingetragen von quiptime (4972)
am 11.11.2007 - 14:11 Uhr
Zitat:

Ich hab mich einfach ans Namensschema der anderen Funktionen gehalten, die beginnen ja alle so.

Die anderen Funktionen, die da so beginnen, sind Funktionen zur Realisierung eines Template. In diesem Zusammenhang gibt es allerdings Namenskonventionen. Zum Einen durch die Templateengine und zum Anderen durch die jeweils zu Grunde liegende Theme-Funktion.

Ganz Allgemein.

In die "template.php" kann man Funktionen reinpacken wie man will und sie auch benennen wie man will. Oft ist eine kleine Funktion in der "template.php" der einfachere Weg gegenueber einem eigenen Modul.
Im Beispielfall Deiner Aufgabe "User Welcome" kann die Sache auch nur ueber die "template.php" realisiert werden. Denn in der "page.tpl.php" bekommt man die Variable $user nicht "gefuellt".
In der "template.php" sollte man auch alle Drupalfunktionen ansprechen koennen ohne irgendwas zu includen.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

$user->name

Eingetragen von quiptime (4972)
am 11.11.2007 - 14:15 Uhr
Stoke schrieb

Die Variable für den Namen lautet übrigens $user->name.

Hatte ich bereits so gepostet:

quiptime schrieb

return 'Hallo, <a href="user/'.$user->uid.'">'.$user->name.'</a>.';

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ah, hab ich wohl überlesen

Eingetragen von Stoke (32)
am 11.11.2007 - 14:31 Uhr

Ah, hab ich wohl überlesen ^^
Ergo: Genauer lesen spart einem viel Zeit beim ausprobieren :)

Danke dir :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • How to Spend a Great Evening at Crash Online Games
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
Weiter

Neue Kommentare

  • Was für einen Server benutzt
    vor 1 Woche 10 Stunden
  • Wenn die Subdomain auf
    vor 1 Woche 2 Tagen
  • ordnerstruktur
    vor 1 Woche 2 Tagen
  • Die Subdomain muß auf den
    vor 1 Woche 5 Tagen
  • Verwende doch das Tag dafür,
    vor 5 Wochen 1 Stunde
  • Guckst du hier: step by step
    vor 4 Wochen 6 Tagen
  • Guckst du hier: step by step
    vor 4 Wochen 6 Tagen
  • Ich habe ja keine Angst vor
    vor 6 Wochen 2 Tagen
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 6 Wochen 4 Tagen
  • Vielen Dank erst einmal, aber
    vor 6 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250290
Registrierte User: 20516

Neue User:

  • RollingSlots
  • Wolf Dab
  • Scottteday

» 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 26 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