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 - 19: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 - 19: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 - 19: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 - 20: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 - 20: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 - 21: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 10.11.2007 - 23: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 - 12: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 - 13: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 - 13: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 - 13: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

  • gepatchte PHP Version 7.4 für Windows
  • 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
  • (gelöst)Drupal 11 installieren
Weiter

Neue Kommentare

  • Danke ich werde mir die
    vor 5 Wochen 4 Tagen
  • Vielen Dank für Ihren
    vor 5 Wochen 6 Tagen
  • Composer ist sehr ratsam
    vor 6 Wochen 1 Tag
  • Vielen Dank für den
    vor 6 Wochen 4 Tagen
  • Die alten CMS Vergleiche von contentmanager.de
    vor 6 Wochen 4 Tagen
  • Gut gemacht
    vor 6 Wochen 4 Tagen
  • Layout Builder etc. z.B. für Landing Pages
    vor 6 Wochen 4 Tagen
  • Links
    vor 7 Wochen 12 Stunden
  • Moin,wow, sehr gutes
    vor 7 Wochen 1 Tag
  • Dass ist eine spannende
    vor 7 Wochen 1 Tag

Statistik

Beiträge im Forum: 250317
Registrierte User: 20567

Neue User:

  • Philiphelve
  • Robertspaft
  • drupalthemes

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