[gelöst]Theming einer Field-Collection
am 09.06.2012 - 19:46 Uhr in
Hallo zusammen,
ich habe mehrere Felder zu einer Field-Collection kombiniert - hat soweit auch alles wunderbar funktioniert. Wenn ich in den Quelltext der Seite schaue finde ich nun folgendes Markup:
<div class="field-collection-container clearfix">
<div class="field-collection-view clearfix view-mode-full">
<div class="entity entity-field-collection-item field-collection-item-field-article-section clearfix" about="/field-collection/field-article-section/1" typeof="">
<div class="content">
inhalt feld 1
inhalt feld 2
inhalt feld 3
</div>
</div>
<ul class="field-collection-view-links">
<li class="edit first">
<a href="/field-collection/field-article-section/1/edit?destination=node/3">Bearbeiten</a>
</li>
<li class="delete last">
<a href="/field-collection/field-article-section/1/delete?destination=node/3">Löschen</a>
</li>
</ul>
</div>
<ul class="action-links action-links-field-collection-add">
<li>
<a href="/field-collection/field-article-section/add/node/3?destination=node/3">Hinzufügen</a>
</li>
</ul>
</div>Jetzt meine Frage:
wie kann ich die Ausgabe beeinflussen bzw. die Field-Collection und einzelne Felder der Collection themen?
Ich hätte als Ausgabe gerne sowas hier:
<div class="block">
<h2>inhalt feld 1</h2>
<h3>inhalt feld 2</h3>
<p>inhalt feld 3</p>
</div>Für Hilfe wäre ich sehr dankbar.
- Anmelden oder Registrieren um Kommentare zu schreiben

Templates
am 10.06.2012 - 09:28 Uhr
Moin.
Schau mal in das Modulverzeichnis von [do:field_collection Field collection], dort solltest Du die Datei field-collection-item.tpl.php finden. Wenn Du dieses Datei in Dein Theme-Verzeichnis kopierst, kannst Du schonmal den Rahmen der Field collection umstrukturieren.
Für die einzelnen Felder könntest Du feldspezifische Templates verwenden (Kopie von field.tpl.php,
field--[type|name[--content-type]|content-type].tpl.php, siehe http://drupal.org/node/1089656) oder aber [do:ds Display Suite].Mit [do:ds Display Suite] (speziell "DS Extras") kannst Du bei den Anzeigeeinstellungen (der Field collection) festlegen, wie die Felder ausgegeben werden sollen.
Eventuell genügt das bereits.
schon versucht...
am 10.06.2012 - 11:57 Uhr
Das habe ich auch schon versucht. Ich habe z.B. für ein Feld innerhalb der Field-Collection ein Template
field--field_headline_2.tpl.phpangelegt (der Maschinenname des Feldes ist field_headline_2. Aber die Formatierungen darin werden innerhalb der Field-Collection ignoriert. Den Cache habe ich geleert.
Bei Feldern außerhalb einer Field Collection hat es so funktioniert.
Die Display Suite werde ich mir auch mal anschauen - hört sich sehr interessant an.
Hmm
am 11.06.2012 - 12:46 Uhr
Das Problem, dass die Feld-Formatierungen ignoriert werden, habe ich mittlerweile gelöst. Ich hatte in den Anzeige-Einstellungen "Klartext" gewählt und eine Datei
field--[name der field-collection].tpl.phpangelegt. Diese Datei wird dann aber anscheinend um jedes Feld der Field-Collection gewrappt und nicht um die komplette Collection.
Hey Dennis, wie hast du
am 26.08.2013 - 22:41 Uhr
Hey Dennis,
wie hast du damals das Problem gelöst? Ich bin auch auf der Suche nach einer vernüftigen Möglichkeit die field-collection Ausgabe zu themen.
Oder weiß sonst jemand einen Rat?
Habe ich doch oben
am 27.08.2013 - 07:58 Uhr
Habe ich doch oben geschrieben ;) Für mich war das damals so ausreichend. Vielleicht hat wer anders noch einen Tipp?
Ach so, ok. Ich dachte du
am 27.08.2013 - 11:39 Uhr
Ach so, ok. Ich dachte du hättest vielleicht noch eine bessere Lösung gefunden und nur nicht hier gepostet :)
Ich habe mir jetzt eine tiefgreifende Möglichkeit des themings erarbeitet:
In meinem Node-Template render ich das Feld der field collection
<?php
print render($content['field_mycollection']);
?>
Das Feld bekommt eine eigene Datei: field--field-mycollection.tpl.php
<?php
foreach ($items as $fields){
foreach ($fields['entity']['field_collection_item'] as $elements) {
print $elements['field_field1'][0]['#markup']; // Radiobutton Feld
print $elements['field_field2'][0]['#markup']; // Textfeld
}
}
?>
So kann ich alle Werte einzeln ausgeben und verarbeiten.
Sooo, JETZT habe ich eine bessere Lösung gefunden :)
am 01.04.2014 - 08:37 Uhr
Für alle, die gerade über Google kommen:
Field Collection Views ist Euer Freund:
https://drupal.org/project/field_collection_views
Eine Anleitung gibt's hier:
http://www.youtube.com/watch?v=_GlfYhsk3X0