Получить только одно значение из многозначного поля в узле шаблона
У меня есть тип контента, который имеет многозначное поле изображения. Мне нужно создать шаблон, который отображает список узлов этого типа, но отображает только одно значение этого многократного поля, а не все из них вместе.
Я знаю, что мы можем сделать, если мы используем представления под «множественными настройками поля», которые объясняются здесь виды 3: выберите только одно значение из многозначного поле , но я не использую представления, можем ли мы использовать только узлы шаблона?
-
node title1
-
первое изображение
-
node title2
-
второе изображение
и т.д.
Пожалуйста, помогите.
2 ответа
Я исправил себя, используя следующий код:
for($index=0; $index<1; $index++){
<div class="row speaker-detail-row">
<div class="field field-name-field-speakers-image field-type-image">
<?php
$fields = field_get_items('node', $node, 'field_speakers_image');
$speakers_image = field_view_value('node', $node, 'field_speakers_image', $fields[$index]);
if (!empty($fields)) {
print render($speakers_image);
}else {print "Image not found";}
?>
</div><!--end field-->
<div class="field field-name-field-speaker-name field-type-link-field">
<?php
$fields = field_get_items('node', $node, 'field_speaker_name');
$speaker_name = field_view_value('node', $node, 'field_speaker_name', $fields[$index]);
if ($fields) {
print render($speaker_name);
}
?>
</div><!--end field-->
</div><!--end row--><br>
<?php }?><!--end for loop-->
Предположим, что у вас уже есть шаблон узла для этого типа контента (если нет, то вы можете прочитать больше здесь ). Внутри шаблона вместо вывода всего содержимого в одной команде печати вы разбиваете их на нужные вам поля. Затем вы можете вывести поле изображения и программно ограничить его первым значением, как описано в этом SE post .