Wie kann ich auf eine Variable im user-profile.tpl.php zugreifen?
Eingetragen von beaschmitz (465)
am 13.09.2011 - 17:28 Uhr in
am 13.09.2011 - 17:28 Uhr in
Wie kann ich auf eine Variable im user-profile.tpl.php zugreifen?
Ich habe im Userprofil bzw links daneben einen Block angelegt, bei welchem man ja die Ansichtssteuerung mit TRUE oder FALSE regelen kann.
In diesen Block möchte ich eine Variable aus dem user-profile.tpl.php zugreifen.
Wie mache ich dies? Wenn ich die Variable einfach zu eintrage bzw. anspreche klappt es nicht.
DANKE
- Anmelden oder Registrieren um Kommentare zu schreiben
Wenn Du mit global $user; den
am 13.09.2011 - 17:40 Uhr
Wenn Du mit
global $user;
den Userrecord einbindest, kannst Du Dir mittelsdrupal_set_message(print_r($user, true));
den Inhalt des Userrecords anzeigen lassen. Ist das benötigte Feld dann schon dabei?Beste grüße
Werner
Äh, was ist denn ein
am 13.09.2011 - 20:11 Uhr
Äh, was ist denn ein Userrecord? Also, ich habe einfach mit dem Core Profile modul eine Variable erstellt.
also zum Beispiel: profile_irgendetwas als Selection Feld mit einem JA bzw. NEIN als Antwort.
Diese Variable möchte ich dann eben in dem Block auslesen bzw ansprechen.
Also, ist das Feld schon da und jeder User muss es gefüllt haben.
Wie lade ich es denn in dem Block?
Mache ich dies mit
drupal_set_message(print_r($user, true));
???DANKE
Wenn Du im Block bei der
am 13.09.2011 - 20:49 Uhr
Wenn Du im Block bei der Sichtbarkeitssteuerung eingibst
<?php
global $user;
drupal_set_message(print_r($user, true));
return true;
?>
solltest Du den Block sehen und im Message-Bereich der Seite die Struktur und den Inhalt des User-Objektes.
Beste Grüße
Werner
Dafür musst du aber vorher
am 13.09.2011 - 21:25 Uhr
Dafür musst du aber vorher noch das Profil des Users laden. Das macht man mit der Funktion
profile_load_profile($user)
Und noch etwas: Ist nicht böse gemeint, aber du solltest dir langsam echt mal ein brauchbares PHP-Tutorial anschauen. Jeden dritten Tag eröffnest du hier einen Thread mit irgendeinem PHP-Problem (was ja kein Problem ist) und stückelst dir dann irgendwie mit 10 verschiedenen Ratschlägen eine Lösung zusammen, die dann zufällig funktioniert, ohne genau zu wissen, was da eigentlich passiert und was du machst. Und DAS könnte ganz schnell ein Problem werden, nicht zuletzt kann man sich mit sowas mangels Kenntniss auch Sicherheitslücken einbauen.
Du kommst anscheinend auf deiner Seite ohne eigenen PHP-Code nicht aus. Dann tu dir selbst den gefallen und lerne zumindest in Grundzügen PHP und die Grundfunktionen von Drupal (wie z. B. das Laden eines Profils etc.) So bist du immer drauf angewiesen, dass andere für dich den PHP-Code schreiben UND dass der auch noch ordentlich und sauber läuft, also ohne Sicherheitsbedenken usw. Zumal sich diese Diskussionen immer ganz schön ziehen können, wenn der TE 70% der Ratschläge kaum versteht.
Wie gesagt, ist nicht böse gemeint, die meisten hier helfen gern, mich eingeschlossen. Aber du würdest dir selbst damit das Leben erheblich erleichtern.
Hallo zusammen, danke für
am 14.09.2011 - 13:31 Uhr
Hallo zusammen,
danke für beide Antworten! Ich werde es heute Abend einmal ausprobieren.
Ja, es stimmt: Ich habe nicht viel Ahnung von PHP und habe mir deshalb auch schon 2 Bücher gekauft (und auch schon angefangen zu lesen)
Aber viele Dinge erscheinen mir Drupalspezifisch und ich finde in den Büchern keine Hinweise dazu.
Gibt es denn im Netz (oder auch als Buch) ein gutes PHP Tut - welches auf Drupal abzielt ?? Denn dies ist für mich ja wichtig.
Ich bin nicht böse für Deinen Hinweis, denn Du hast ja recht :)
Ich arbeite daran und lasse eben einfach nicht locker, bis ich das Problem gelöst habe.
Ich bin über die ganze "DrupalZeit" aber auch schon "besser" geworden :)
DANKE
Oweia, jetzt haben wir aber
am 17.09.2011 - 23:45 Uhr
Oweia,
jetzt haben wir aber aneinander vorbeigeredet: ich habe den Code gerade einmal ausprobiert und er printed ja die ganzen User Variablen auf die Seite!
Das wollte ich ja gar nicht!
Ok, jetzt ist mir aber schon mal bekannt, wie ich das User proifle lade.... dann habe ich es bzw. Drupal hat es "im Speicher"?!
Dann müsste ich ja auch dann im Code des Blocks irgendwie eintragen können, dass er nachschaut, ob ein Profilfeld auf JA oder NEIN steht....?
Wenn es auf JA steht (also das Profilfeld einfach mit 1 oder 0), dann soll DER BLOCK erscheinen. Wenn er auf NEIN steht, dann soll der Block auch nicht zusehen sein.
Habe ich das jetzt verständlich formuliert?! hmm...ich versuche noch einwenig.
Falls sich jemand erbarmt und die Lösung vielleicht schon "auf Lager" hat, dann vielen Dank vorab!!!!!!
Der Code von wla war auch
am 18.09.2011 - 13:28 Uhr
Der Code von wla war auch nicht dazu da, das Problem komplett zu lösen, sondern er sollte eben das User-Objekt ausgeben, damit du siehst, wie das ganze aufgebaut ist und auf das Feld zugreifen und prüfen kannst.
Ja, so langsam dämmert es
am 18.09.2011 - 14:10 Uhr
Ja, so langsam dämmert es mir.... Den Namen des Profilfeldes etc habe ich ja aber schon ==> profile_profilschutz (selection feld) mit der Auswahlmöglichkeit "Ja" oder "Nein".
Dieses - vermute ich nun - kann ich ja jetzt "laden".
Und dann versuche ich nachher nochmals den Block entweder anzeigen zu lassen (wenn Profilschutz "Nein") oder eben ausblenden, wenn Profilschutz "Ja"... Das muss ich doch irgendwie mit TRUE oder FALSE hinbekommen!
Ich gebe nicht auf :)