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

  • 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 3 Tagen
  • Hey danke
    vor 2 Wochen 4 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 5 Tagen
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 2 Tagen
  • Da scheint die Terminologie
    vor 3 Wochen 2 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 6 Tagen
  • In der entsprechenden View
    vor 3 Wochen 6 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 6 Tagen
  • gelöst
    vor 6 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20456

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 27 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