(gelöst) Profile2 Felder per if-Anweisung weiterverarbeiten
Eingetragen von Thorsten1 (126)
am 17.11.2013 - 14:36 Uhr in
am 17.11.2013 - 14:36 Uhr in
Hallo,
nach langer Suche lande ich nun wieder bei euch und bitte um Hilfe.
In der profile2.tpl.php möchte ich gerne die Ansicht der Profile gestalten.
Dem User gebe ich aber die Möglichkeit, über ein Häkchen (field_freigabe_main) zu entscheiden, ob er sein Profil veröffentlichen möchte.
Die einzelnen Felder kann ich über:
<div class="<?php print $classes; ?> clearfix"<?php print $attributes; ?>>
<div class="content"<?php print $content_attributes; ?>>
<?php
print render($content['field_zertifikate_und_lizenzen']);
print render($content['field_arbeitsbereiche']);
?>
</div>
</div>
ansteuern und darstellen,
wie aber kann ich mit der If-Anweisung das Feld "field_freigabe_main" abfragen, um bei "Freischaltung" (Wert = 1)
die Daten einzublenden?
Das Feld (ist Boolesch - Einzelnes an/aus Kontrollkästchen) liefert bei Aktivierung eine 1 und bei deaktivierung eine 0
Meine Versuche liefen leider alle ins Leere.
Vielen Dank für eure Unterstützung
Thorsten
- Anmelden oder Registrieren um Kommentare zu schreiben
Lies Dir diese Seite in der
am 17.11.2013 - 15:12 Uhr
Lies Dir diese Seite in der API durch, besonders auch die Kommentare.
https://api.drupal.org/api/drupal/modules!field!field.module/function/field_view_value/7
Beste Grüße
Werner
Hallo Werner, weisst du wie
am 17.11.2013 - 22:34 Uhr
Hallo Werner,
weisst du wie der Code auszusehen hat?
Ich verstehe es nicht! Mit diesem Hinweis komme ich nicht klar.
Profile2 Felder per if-Anweisung weiterverarbeiten
am 20.11.2013 - 07:40 Uhr
Leider hat tagelanges Probieren, auch mit Hilfe des Devel-Modules mich nicht weitergebracht.
Gibt es wirklich niemanden in dieser Community der mir die Codezeile geben kann?
Moin, wenn ich dich richtig
am 20.11.2013 - 13:39 Uhr
Moin,
wenn ich dich richtig verstanden habe, kann der User auswählen, ob sein Profil(2) generell sichtbar sein soll oder nicht, oder? Da würde sich hook_profile2_access anbieten.
Wenn Du's unbedingt in die profile2.tpl.php reinpacken willst, kannst Du das so regeln:
<?php
//User ID holen
global $user;
$id = $user->uid;
// Laden des Profile 2
$obj = profile2_load_by_user($account = $id, $type_name = NULL);
//dpm ($obj);
//in dem Beispiel wird das Profil gezeigt, wenn der User das entsprechende Auswahlkästchen geklickt hat. Andersrum muss da natürlich ne 0 statt 1 stehen
if ($obj['user']->field_freigabe_main['und'][0]['value'] == 1) {
// zeigt alles, oder Felder selectieren
print render($content);
}
?>
Profile2 Felder per if-Anweisung weiterverarbeiten
am 20.11.2013 - 17:58 Uhr
Hallo glycid,
vielen Dank für deinen Vorschlag.
Ich möchte es in die profile2.tpl.php packen, da ich mehrere Profile habe die hier per div und css an die richtige Stelle gesetzt werden sollen.
Leider funzt dein Code nicht.
Thorsten1 schrieb Leider
am 20.11.2013 - 18:05 Uhr
Leider funzt dein Code nicht.
hast Du den Cache geleert? Mit dem Devel Modul mal geguckt, ob die Feldbezeichnungen bei Dir auch so lauten?
Ich habs kurz getestet und es funktioniert bei mir einwandfrei. Warum sollte es bei dir also nicht funktionieren?
ok ich schau noch mal Ja
am 20.11.2013 - 18:24 Uhr
ok ich schau noch mal
Ja cache ist gelehrt, mit administrationsmenüpunkt: Alle Zwischenspeicher leeren.
...kannst den Thread ja jetzt
am 20.11.2013 - 23:54 Uhr
...kannst den Thread ja jetzt auf gelöst setzen...
Hallo glycid, vielen Dank für
am 21.11.2013 - 07:58 Uhr
Hallo glycid,
vielen Dank für deine Hilfe.
War doch sehr viel umfangreicher als zunächst gedacht.
Wer sich für die Lösung interessiert, kann sich gerne an mich wenden.