Программирование сайтов
15 Ноя в 21:52

Вывод Field Collection кодом

Все будет в файле node.tpl.php.
Если несколько коллекций, в начале один раз получаем объект ноды:

if (arg(0) == 'node' && is_numeric(arg(1))) {
	$nid = arg(1);
	$node = node_load($nid);
}

А потом, выводим поля коллекции. Например, коллекция «field_phones» с полями «field_telecom» и «field_phone_number»:

$items = field_get_items('node', $node, 'field_phones');
foreach ($items as $item) {
	$fc_value = field_collection_field_get_entity($item);
	$icon_id = $fc_value->field_telecom['und'][0]['tid'];
	switch ($icon_id) {
		case 16:
			$class = 'a1-mts';
			break;
		case 17:
			$class = 'life-4g';
			break;								
	}
	$number = $fc_value->field_phone_number['und'][0]['value'];
	print '<div class="'.$class.'">'.$number.'</div>';
}