(gelöst) User Profile anpassen und outprinten der Daten "profile field"
Eingetragen von beaschmitz (465)
am 19.06.2011 - 22:59 Uhr in
am 19.06.2011 - 22:59 Uhr in
User Profile anpassen und outprinten der Daten "profile field"
Hallo!
Ich kämpfe mich gerade durch die diversen Anleitungen (http://mustardseedmedia.com/podcast) und die Snippets auf drupal.org und bin jetzt soweit, dass ich die Daten aus dem Profil auslesen kann.
Nun möchte ich mir dieses Profil eben wieder schön in Einzelteilen zusammenbauen und komme bei den
profile variables (profile module) http://drupal.org/node/35728
Nicht weiter....
Ich habe ein Profil field, wo man eine Zahl eingeben soll....
Und wenn ich es jetzt mit
<?php
profile_load_profile($account);
// now you can call the profile field like profile_firstname
echo $account->profile_kyu-grad;
?>
auslesen will, dann kommt immer eine Null raus?!!! Was mache ich falsch? Muss man bei Zahlen etwas besonderes beachten?
DANKE
Achja, falls jemand noch einen Link mit interessanten Pofil Snippets hat oder andere Tipps, dann her damit :)))
- Anmelden oder Registrieren um Kommentare zu schreiben
Devel
am 20.06.2011 - 07:36 Uhr
Hallo.
Installiere Dir doch einfach mal [do:devel Devel] und lass Dir doch mal den Inhalt von
$account
ausgeben:<?php
dsm($account);
?>
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Hallo Stefan, ich habe die
am 20.06.2011 - 13:05 Uhr
Hallo Stefan,
ich habe die Variablen ja schon mit folgendem Code ausgelesen:
<div>
<h2>Available variables</h2>
<p>The following is a list of variables that is available to your custom <strong>user-profile.tpl.php</strong>.</p>
<?php print '<pre>'. check_plain(print_r($profile, 1)) .'</pre>'; ?>
</div>
Nur klappt eben das "zusammenbauen" nicht bei der einen Sache?! Das Problem ist (wie oben geschrieben): die Ausgabe eines numerischen Wertes...da steht dann immer 0
Hat jemand noch einen Tipp?!
DANKE
Ausgabe
am 20.06.2011 - 13:19 Uhr
Zeig doch mal bitte, was da rauskommt. "0" und "Null" sind übrigens nicht identisch.
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Hallo Stefan,danke für Deine
am 20.06.2011 - 17:33 Uhr
Hallo Stefan,
danke für Deine Antwort...also, wenn ich die Variablen auslesen lasse, dann kommt so etwas (ein Ausschnitt) heraus:
[Training] => <h3>Training</h3>
<dl>
<dt class="profile-profile_trainingspartner">Trainingspartner vorhanden?</dt>
<dd class="profile-profile_trainingspartner"><a href="/profile/profile_trainingspartner/ja">ja</a></dd>
</dl>
[Graduierung] => <h3>Graduierung</h3>
<dl>
<dt class="profile-profile_kyu-grad">Kyu-Grad</dt>
<strong><dd class="profile-profile_kyu-grad"><a href="/profile/profile_kyu-grad/8.%20Kyu">8. Kyu</a></dd></strong>
<dt class="profile-profile_guertelfarbe">Gürtelfarbe</dt>
<dd class="profile-profile_guertelfarbe"><a href="/profile/profile_guertelfarbe/gelb">gelb</a></dd>
</dl>
[summary] => <h3>Verlauf</h3>
<dl class="user-member">
<dt class="photos">Alben und Bilder</dt>
<dd class="photos"><div class="item-list"><ul><li class="first"><a href="/photos/user/1/album">Es gibt insgesamt 1 Alben</a></li>
<li><a href="/photos/user/1/image">Es sind insgesamt 1 Bilder vorhanden</a></li>
<li class="last"><a href="/photos/user/1/slide">Slideshow</a></li>
Das was ich fett markiert habe (im Code jetzt nur mit strong gekennzeichnet) kommt nicht wie gewünscht heraus, wenn ich folgenden Print Befehl nutze:
PROFILE VARIABLEN
<?php
profile_load_profile($account);
// now you can call the profile field like profile_firstname
echo $account->profile_trainingspartner;
<strong>echo $account->profile_kyu-grad;</strong>
echo $account->profile_guertelfarbe;
?>
Die Problemzeile ist wieder fett markiert.
Auf dem Profil ist dann folgendes zu sehen:
PROFILE VARIABLEN ja0gelb
DANKE!
Devel
am 20.06.2011 - 19:26 Uhr
Installiere doch bitte mal [do:devel Devel] und lass Dir den Inhalt mit
<?php dsm($account) ?>
ausgeben.Das, was Du da oben zeigst, ist fertig gerendertes HTML und nicht einzelner Feldinhalt.
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
ok, mach ich und dann meld
am 21.06.2011 - 08:47 Uhr
ok, mach ich und dann meld ich mich wieder!
hallo, habe das modul
am 21.06.2011 - 21:50 Uhr
hallo,
habe das modul installiert und in EXECUTE PHP COde den Code eingegeben...hat nicht geklappt?
wo muss genau der php code hin? in die user tpl?
ja, ich bin nicht FIT :)
Hallo Stefan, so, ich habe es
am 21.06.2011 - 23:07 Uhr
Hallo Stefan,
so, ich habe es mit dem Devel Modul nicht hinbekommen und habe einfach (wie im mustard media podcast mit bob) die Account Daten so ausgelesen mit folgendem Code:
?>
<div class="profile">
<pre>
<?php print_r($account)?>
</pre>
</div>
Dann erhalte ich folgende Felder (nicht alle hier hin kopiert):
[picture_delete] => 0
[picture_upload] =>
[current_id] => 2
[language_value] => de
[revision_id] => 1
[current_date] => 1299879759
[display] => 0
[invite_sent] => 1
[newsletters] => Array
(
[1] => 1
)
[roles] => Array
(
[2] => authenticated user
[3] => Admin
)
[profile_kyu-grad] => 8. Kyu
[profile_guertelfarbe] => gelb
[profile_trainingspartner] => ja
[userreference] => Array
(
)
[locations] => Array
(
[0] => Array
(
[lid] => 5
[name] =>
[street] =>
[additional] =>
[city] =>
[province] =>
[postal_code] => 50374
[country] => de
[latitude] => 0.000000
[longitude] => 0.000000
[source] => 0
[is_primary] => 0
[province_name] =>
[country_name] => Germany
)
)
[location] => Array
(
[lid] => 5
[name] =>
[street] =>
[additional] =>
[city] =>
[province] =>
[postal_code] => 50374
[country] => de
[latitude] => 0.000000
[longitude] => 0.000000
[source] => 0
[is_primary] => 0
[province_name] =>
[country_name] => Germany
)
[og_groups] => Array
(
)
[album] => Array
(
[album] => Array
(
[count] => 1
)
[image] => Array
(
[count] => 1
)
)
[nodewords] => Array
(
)
Ich vermute das Devel Modul hätte ähnliches ausgelesen??? Kannst Du mir nun bei meiner Ausgangsfrage weiterhelfen?
Falls nein, dann bitte kurzer Tipp, wie ich deinen Code und wo einsetzen muss, damit ich dir die gewünschten Daten liefern kann?
DANKE!
Devel
am 22.06.2011 - 06:50 Uhr
Hallo.
Du kannst den Aufruf für [do:devel Devel] einfach an die Stelle schreiben, an die Du auch Dein
print_r
gesetzt hast:<div class="profile">
<?php dsm($account)?>
</div>
... Dann erhalte ich folgende Felder (nicht alle hier hin kopiert): ...
...
[profile_kyu-grad] => 8. Kyu
...
Da haben wir doch das gewünschte Feld schon. Wenn Du jetzt
<?php print $account->profile_kyu-grad; ?>
schreibst, was bekommst Du dann als Ausgabe?Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Hallo!habe ich gemacht und
am 22.06.2011 - 08:04 Uhr
Hallo!
habe ich gemacht und bekomme also immer folgende Ausgabe:
0
Ist eine Null oder? Das ist mein Problem!
Was mache ich falsch????
Ich nutze folgenden Code in der user-profile.tpl.php:
<div class="profile">
<?php print $account->profile_kyu-grad; ?>
</div>
Array oder Objekt
am 22.06.2011 - 09:25 Uhr
Hm.
Zeig mal bitte, was
<?php dsm($account) ?>
liefert (erste Ebene aufklappen, davon einen Screenshot).Es kann sein, dass
$account
ein Array ist und der Wert mit<?php print $account['profile_kyu-grad'] ?>
abgefragt werden muss...Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Hallo, so, nochmal mit devel
am 22.06.2011 - 09:34 Uhr
Hallo,
so, nochmal mit devel als Screenshot anbei...
und auch nochmals mit
<?php print_r($account)?>
[
#printed] => 1 ) [Graduierung] => Array ( [#required] => [#tree] => [#parents] => Array ( ) [#attributes] => Array ( ) [#description] => [#title] => Graduierung [profile_kyu-grad] => Array ( [#type] => user_profile_item [#title] => Kyu-Grad [#value] => 8. Kyu [#weight] => 0 [#attributes] => Array ( [class] => profile-profile_kyu-grad ) ) [profile_guertelfarbe] => Array ( [#type] => user_profile_item [#title] => Gürtelfarbe [#value] => gelb [#weight] => 0 [#attributes] => Array ( [class] => profile-profile_guertelfarbe ) ) [#type] => user_profile_category [#children] =>
Kyu-Grad
8. Kyu
Ich hoffe es passt?
DANKE
Devel
am 22.06.2011 - 09:48 Uhr
Du hast leider genau den Teil der Devel-Ausgabe nicht mit gepostet, den ich jetzt gerne gesehen hätte :)
Nämlich den Rahmen.
Sowas:
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Hallo! Naja, Rom wurde ja
am 22.06.2011 - 11:09 Uhr
Hallo!
Naja, Rom wurde ja auch nicht an einem Tag erbaut :))
Ich habe jetzt mal alles fotografiert, was mir so vor die Linse kam :)
Ich hoffe da ist nun das Richtige dabei?!
DANKE
user-Objekt
am 22.06.2011 - 11:45 Uhr
Hm, ok.
Es ist also ein Objekt. Also muss
<?php print $account->profile_kyu-grad; ?>
den korrekten Wert liefern. Ich kann mir wirklich nicht vorstellen, wieso dabei "0" herauskommen sollte, wenn [do:devel Devel] undprint_r
den korrekten Wert anzeigen.Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Tja, das ist ja genau mein
am 22.06.2011 - 12:13 Uhr
Tja, das ist ja genau mein Problem...
Es wird aber die 0 ausgeprinted
Und nun?
Auch wenn ich
<?php
profile_load_profile($account);
// now you can call the profile field like profile_firstname
echo $account->profile_trainingspartner;
echo $account->profile_kyu-grad;
echo $account->profile_guertelfarbe;
?>
kommt dies hier heraus:
ja0gelb
Was mache ich denn falsch???
liegt es an der Zahl? Ich schreibe ja als Wert "8. Kyu Grad"
Kann es sein, dass es einen Fehler gibt, wenn ich ein Text Profil Feld nehme?
Feld
am 22.06.2011 - 12:23 Uhr
Äußerst merkwürdig.
Eventuell kann es sein, dass das "-" im Namen diesen Effekt verursacht. Benenne das Feld doch mal um (also ohne "-") und schau, was dann passiert.
Viel mehr fällt mir dazu jetzt nicht ein.
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Tatsächlich
am 22.06.2011 - 12:45 Uhr
Tatsächlich !!!!!!!!!!!!!!!!!!!!!!!
Das war es!
Es lag nur an dem -
Ich habe es umbenannt in _ und nun wird es korrekt ausgeprinted!!!
DANKE!
PS: Ich habe noch ein Problem, dass ich die Ortsangaben (locations) nicht ausgeprinted bekomme...mache einen neuen Thread auf...falls Du noch ein Idee und Lust hast :)