Benutzerreferenz für Userprofil verwenden
am 13.11.2012 - 22:45 Uhr in
Ich habe eine Webseite, bei der Unternehmen Unternehmensprofile anlegen können. Soweit so gut. Nun möchte ich, dass man bei diesen Unternehmensprofilen Ansprechpartner angeben kann. Dazu habe ich das Profil Feld Benutzerrefferenz gewählt und einen eigenen Contenttype dazu erstellt. Nun habe ich 2 Prbleme. 1) Das Standardfeld Dateianhänge lässt sich nicht deaktivieren. 2) Ich kann zwar Benutzer per Suche auswählen und dann auch den Inhalt speichern allerdings wird der Inhalt sprich die Benutzerreferenz nicht ausgegeben. Ich habe diesen Content type dem Benutzerprofil verfügbar gemacht und per Content Template diesen Code Schnipzel in das user-profile.tpl.php eingefügt.
<div class="field field-type-userreference field-field-ansprechpartner1">
<h3 class="field-label">Ansprechpartner</h3>
<div class="field-items">
<div class="field-item"><?php print $node->field_ansprechpartner1[0]['view'] ?></div>
</div>
</div>
Das Problem daran ist wohl, dass die $node Variable nur beim jeweiligen Node auch verfügbar ist. In der Profilansicht jdeoch nicht. Ich habe allerdings per ContentProfile diesen Node dem Profil zugewiesen, so dass es eigendlich funktionieren sollte?
- Anmelden oder Registrieren um Kommentare zu schreiben
User statt Node
am 14.11.2012 - 07:52 Uhr
Hallo!
Da du das Feld an das Userprofil angehängt hast, ist es eine Eigenschaft des User-Objektes nicht der Node. Du brauchst also $user->Field...
Fertig.
Michael
Du musst das Content-Profile
am 14.11.2012 - 10:36 Uhr
Du musst das Content-Profile ja auch vorher laden (wenn ich das jetzt richtig verstanden habe).
<?php
if (arg(0) == 'user' && is_numeric(arg(1))) {
$account = user_load(arg(1));
if (isset($account->uid)) {
$node = content_profile_load('profile', $account->uid);
print $node->field_ansprechpartner1[0]['view']
}
}
?>
Ich habe beides ausprobiert.
am 15.11.2012 - 00:52 Uhr
Ich habe beides ausprobiert. Leider funktioniert es so nicht. Trotzdem vielen Dank dafür. Vielleichthat noch jemand einen Tipp?
Hast du bei "profile" auch
am 15.11.2012 - 01:01 Uhr
Hast du bei "profile" auch den korrekten Namen deines Content-Profils eingetragen? Vielleicht heißt der ja bei dir nicht 'profile' sondern anders ...
Die Datei heißt
am 15.11.2012 - 01:04 Uhr
Die Datei heißt user_profile.tpl.php. Wenn ich es richtig verstanden habe muss ich nun user_profile anstelle von profile einsetzen? Probier ich mal aus. Oder ist damit der Contenttype und davon die maschienenlesbare Bezeichnung gemeint??
Nein - du musst schauen wie
am 15.11.2012 - 01:07 Uhr
Nein - du musst schauen wie der maschienlesbare Name Deines Content-Profile-Node-Typ heißt. Diesen setzt du dort ein ... mit der user_profile.tpl.php hat das nichts zu tun.
Ich habeif (arg(0) == 'user'
am 15.11.2012 - 01:21 Uhr
Ich habe
if (arg(0) == 'user' && is_numeric(arg(1))) {
$account = user_load(arg(1));
if (isset($account->uid)) {
$node = content_profile_load('kontakt', $account->uid);
print $node->field_ansprechpartner1[0]['view'];
}
}
ausprobiert. Der Content-Type der per Content-Profile eingebunden werden soll heißt kontakt. Also die maschinenlesbare Bezeichnung ist "kontakt" Funktioniert so leider auch nicht.
Hat nicht jemand noch eine Idee? Vielen Dank trotzdem für die Idee. Es funktioniert so aber nicht.
Keiner eine Idee?
am 16.11.2012 - 15:27 Uhr
Keiner eine Idee?
Ionit schrieb Du musst das
am 21.11.2012 - 21:21 Uhr
Du musst das Content-Profile ja auch vorher laden (wenn ich das jetzt richtig verstanden habe).
<?php
if (arg(0) == 'user' && is_numeric(arg(1))) {
$account = user_load(arg(1));
if (isset($account->uid)) {
$node = content_profile_load('profile', $account->uid);
print $node->field_ansprechpartner1[0]['view']
}
}
?>
Das funktioniert so leider nicht. Logisch ist dieser Schritt, aber die Sybtax ist nich korrekt.