Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

Wie dynamisch auf Object zugreifen?

Eingetragen von C-tecx (27)
am 06.11.2014 - 13:28 Uhr in
  • Modul-Entwicklung

Hallo zusammen,

ich habe mehrere user fields wie z.B. field_1, field_2 usw. Nun möchte ich in meinem Modul auf diese Feld zugreifen was ich derzeit mit $user_fields = user_load mache. Somit kann ich über $user_fields->field_1['und'][0]['value'] den Wert abfragen. Soweit so gut.

field_1 ist jedoch dynamisch und abhängig vom node. Also bei node xy möchte ich field_1 und bei node yz field_2 usw. abfragen. Wie greife ich da auf das Object zu?

Ich habe folgendes probiert:

$dynamisch = 'field_' . $zahl; //kann also field_2, field_4, field_20 usw sein
$user_fields->$dynamisch['und'][0]['value']; //geht nicht da $dynamisch ja kein Array ist
$user_fields->'field_' . $zahl . ['und'][0]['value']; //geht nicht

Aktuell mache ich das sehr umständlich folgendermaßen:

$dynamisch = 'field_' . $zahl;
$array = field_get_items('user', $user_fields, $dynamisch);
$ausgabe = $array['0']['value'];

Das muss noch irgendwie einfacher gehen oder???

‹ Form erstellt -> Daten sollten nun in Tabelle angezeigt werden [gelöst] Eine Javascript Variable zu Hook senden ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Etwas eleganter funktioniert

Eingetragen von SteffenR@drupal.org (2262)
am 06.11.2014 - 23:20 Uhr

Etwas eleganter funktioniert der Zugriff auf einzelne Felder von Enititäten in Drupal über den entity_metadata_wrapper. Neben Nodes kann man auf diese Weise auch Felder anderer Entity-Typen abfragen (user, field_collections, commerce products etc... )

Beispiele für den Umgang mit dem entity_metadata_wrapper findest du hier:
https://www.drupal.org/documentation/entity-metadata-wrappers

Anwendung wie folgt:

<?php

$wrapper
= entity_metadata_wrapper('node', $node);
$field_value = $wrapper->FIELDNAME->value();
?>

SteffenR

  • Anmelden oder Registrieren um Kommentare zu schreiben

Besten Dank!!! Funktioniert

Eingetragen von C-tecx (27)
am 07.11.2014 - 12:47 Uhr

Besten Dank!!! Funktioniert super damit. Schön ist, dass man nicht nur abfragen sondern auch setzen kann.

  • Anmelden oder Registrieren um Kommentare zu schreiben

C-tecx schrieb Besten Dank!!!

Eingetragen von SteffenR@drupal.org (2262)
am 07.11.2014 - 15:28 Uhr
C-tecx schrieb

Besten Dank!!! Funktioniert super damit. Schön ist, dass man nicht nur abfragen sondern auch setzen kann.

Praktisch am entity_metadata_wrapper ist halt auch, dass du so bspw. auch auf referenzierte Entities in deiner gewrappten Entity direkt zugreifen kannst (bspw. im Fall einer Field-Collection oder bei Paragraphs etc.)

SteffenR

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
Weiter

Neue Kommentare

  • Verwende doch das Tag dafür,
    vor 2 Wochen 5 Tagen
  • Guckst du hier: step by step
    vor 2 Wochen 5 Tagen
  • Guckst du hier: step by step
    vor 2 Wochen 5 Tagen
  • Ich habe ja keine Angst vor
    vor 4 Wochen 16 Stunden
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 4 Wochen 2 Tagen
  • Vielen Dank erst einmal, aber
    vor 4 Wochen 4 Tagen
  • Du hast die "Trusted host
    vor 4 Wochen 5 Tagen
  • Bitte genauer den aktuellen Lösungs-Ansatz beschreiben
    vor 6 Wochen 3 Tagen
  • Git und rsync sind die wichtigsten Werkzeuge
    vor 7 Wochen 11 Stunden
  • Arrrrg. Nix Tabelle :-D /*
    vor 11 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250284
Registrierte User: 20508

Neue User:

  • Marvinkep
  • RandallFloop
  • Inga GuAph

» Alle User anzeigen

User nach Punkten sortiert:
wla9464
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 24 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