как ссылаться на поля с несколькими значениями в узле - шаблон типа содержимого
В настоящее время у меня есть шаблон для типа содержимого статьи.
Node--article.tpl.php содержит:
<?php
print render($content['body']);
print render($content['field_file']);
print render($content['field_tags']);
?>
Все эти поля отображаются просто отлично. Отображаются все значения field_tags. Однако я хотел бы иметь возможность ссылаться на каждое отдельное значение поля тегов.
Например, я хотел бы иметь возможность делать
<span class="customClass i">field_tag</span>
И повторите i для каждого элемента, который выплевывает поле.
Я предпринял несколько неудачных попыток. Я пробовал
$i = 0;
while($content['field_tags']){
print "<span class='customClass ".$i."'>";
print render($content['field_tags']);
print "</span>";
$i += 1;
}
Однако это просто создало бесконечный цикл. Я попытался сделать это с помощью
while(render($content['field_tags']))
Также, но это также создало бесконечный цикл. Есть ли способ получить доступ к полю тегов в виде массива? а не просто один элемент в массиве $content?
1 answers
Мне удалось добиться этого, добавив [значение] в конец массива field_tag. Затем, используя функцию "count", я создал цикл for для перебора каждого значения, например
$j = count($content['field_tags']);
for( $i = 0; $i < $j; $j+= 1){
if(render($content['field_tags'][$i]) != ''){
print "<span class='customClass ".$i."'>";
print render($content['field_tags'][$i]);
print "</span>";
}
}
Примечание: По какой-то причине мне пришлось вставить проверку, был ли тег пустым, потому что массив оказался намного больше, чем количество тегов.