[gelöst] Field Collection im View auslesen
Eingetragen von stephan.b (10)
am 30.01.2014 - 18:36 Uhr in
am 30.01.2014 - 18:36 Uhr in
Hallo,
folgendes Problem:
Wir haben einen Inhaltstyp, welcher über 2 verschachtelte field_collections aufgebaut wird.
Nun möchten wir einen View bauen, welcher sich die notwendigen Daten aus den field_collections iterativ besorgt.
Dafür lesen wir in dem views-view-fields--name.tpl.php die Felder über $fields['Feldname'] aus. Das Problem ist, dass wir das Feld der field_collection zwar auslesen können, jedoch nur den gesamten Inhalt.
Damit wir jedoch die field_collection Felder auslesen können bräuchten wir ein Array o.ä. aus den Items.
Ähnlich haben wir es schon einmal bei einem Node gemacht:
foreach ($content['field_content_block']['#items'] as $entity_uri)
{
$a_field_collection_item = entity_load('field_collection_item', $entity_uri);
foreach ($a_field_collection_item as $a_field_collection_item_object )
{
$node = $a_field_collection_item_object;
//field_content_title
$field = array();
$field = field_view_field('field_collection_item', $node, 'field_content_title', $displayText);
$field_content_title = render($field[0]);
// ...
Vielen Dank für eure schnellen Antworten!
- Anmelden oder Registrieren um Kommentare zu schreiben
Im View brauchst Du das nicht
am 30.01.2014 - 18:44 Uhr
Im View brauchst Du das nicht so kompliziert zu machen. Du erstellst eine Beziehung über das Field-Collection-Feld. Jetzt kannst Du darüber auf alle Felder der Field-Collection zugreifen. Sollte darin eine geschachtelte Field-Collection sein, mußt Du eine weitere Beziehung unter Benutzung der ersten Beziehung bauen. Du brauchst also dazu in Views keine Programmierung.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
wla schrieb Im View brauchst
am 30.01.2014 - 20:24 Uhr
Im View brauchst Du das nicht so kompliziert zu machen. Du erstellst eine Beziehung über das Field-Collection-Feld. Jetzt kannst Du darüber auf alle Felder der Field-Collection zugreifen. Sollte darin eine geschachtelte Field-Collection sein, mußt Du eine weitere Beziehung unter Benutzung der ersten Beziehung bauen. Du brauchst also dazu in Views keine Programmierung.
Beste Grüße
Werner
Vielen Dank für deinen hilfreichen Beitrag.
Allerdings müssen wir dieses Feld noch weiter verarbeiten, da wir das Ertgebnis des Views letztendlich selber in einer Template Datei zusammenbauen müssen.
Gibt es eine Möglichkeit dieses Feld, welches wir nun über die Beziehung erstellt haben, über die Template-Datei anzusprechen?
Vielen Dank!
Wir haben uns schon selber
am 30.01.2014 - 20:30 Uhr
Wir haben uns schonm selber geholfen.
Das Feld kann ja nun wie ein Normales Feld ausgegeben werden.
Vielen lieben Dank!
Lösung:
- Eine Relationship/Beziehung zur Field Collection herstellen
- nun können Felder aus der Field Collection ganz einfach ausgewählt und angelegt werden
- diese können wie andere Felder ganz einfach im Template angesprochen werden ( $fields['field_name']->content;)