Ich habe jetzt fast ein paar Tage damit herumgespielt, ohne Glück. Hier sind meine Sammlungsdaten:
Sammlungsname: field_video_collection
Innerhalb der Sammlung gibt es ein Feld mit dem Namen: field_video_file_col
Meine Felder werden in meiner benutzerdefinierten field-collection-item--field_video_collection.tpl.php
Vorlage einwandfrei gedruckt. Ich habe die Dokumentation gemäß diesem Problem befolgt , um meinen Vorlagennamen zu erhalten, und ich drucke die Felder einfach als <?php print render($content['field_video_file_col']); ?>
etc ... in dieser Vorlage.
Nun zum lustigen Teil möchte ich das fid
für jedes field_video_file_col
Element in der Sammlung in einem bestimmten Knoten extrahieren und als gedruckte Variable rendern. Ich habe die Antwort in dieser Frage hier auf Stack befolgt, aber es scheint für mich nicht zu funktionieren. wenn ich mache:
print '<pre>';
var_dump(get_defined_vars());
print '</pre>';
Ich sehe, dass ich dies als Teil der Daten habe, die mir zur Verfügung stehen field_video_file_col
["field_video_file_col"]=>
array(1) {
["und"]=>
array(1) {
[0]=>
array(12) {
["fid"]=>
string(3) "888"
Es scheint mir also, dass die FID in diesem Fall 888 ist und ich möchte das in meiner Vorlage rendern. Meine Knotenvorverarbeitungsfunktion ist als solche:
function MYTHEME_preprocess_node(&$vars, $hook) {
$entity_type = 'field_collection_item';
$bundle_name = 'field_field_video_collection'; // Field name the collection is attached to
$field_name = 'field_video_file_col'; // Field name within the field collection
$video_file_fid = field_info_instance($entity_type, $field_name, $bundle_name);
if ($video_file_fid) {
$my_fid = $video_file_fid['fid'];
}
}
Das Endergebnis ist, dass ich die Variable in meinem Feldfeldsammlungselement - field_video_collection.tpl.php- Vorlage wie folgt rendern muss :
<?php print $video_file_fid; ?>
... aber das scheint nicht zu funktionieren. Ich habe überall gesucht und viele verschiedene Inkarnationen dieses Codes und dieser Kombinationen ausprobiert, aber immer noch keine Freude.