Как отобразить разделенный запятыми список нескольких значений полей?
Как я могу отобразить, например, каждое значение терминов таксономии в виде встроенного списка, разделенного запятыми (или добавить между каждым из них символ "/") в моем файле шаблона поля field--node--field-tags.html.twig
или даже визуально с помощью css?
4
Author: Mojtaba Reyhani, 2016-05-08
3 answers
Для этого вы можете использовать CSS.
Например:
HTML
<div class="field-items">
<div class="field-item">
Apple
</div>
<div class="field-item">
Orange
</div>
<div class="field-item">
Lemon
</div>
</div>
CSS
.field-item {
float: left;
}
.field-item:after {
content: ","; right: 3px; position: relative;
}
.field-item:last-child:after {
content: none;
}
.field-item:last-child:before {
content: " and ";
}
.field-item:first-child:before {
content: none;
}
ДЕМОНСТРАЦИОННЫЙ ПРИМЕР
1
Author: No Sssweat, 2016-05-09 06:31:27
Хотя для этого можно использовать CSS, я думаю, что лучше этого избегать. Я упростил файл ветки поля для иллюстрации, но он будет выглядеть примерно так:
{% for item in items %}
{% if loop.last %}
{% set separator = '' %}
{% else %}
{% set separator = '/' %}
{% endif %}
{{ item.content }}{{ separator }}
{% endfor %}
6
Author: Rene, 2017-06-08 14:28:46
Я объединил поле Classy.html.twig с предложением Рене в поле файла-узел-теги полей.html.twig:
{%
set classes = [
'field',
'field--name-' ~ field_name|clean_class,
'field--type-' ~ field_type|clean_class,
'field--label-' ~ label_display,
]
%}
{%
set title_classes = [
'field__label',
label_display == 'visually_hidden' ? 'visually-hidden',
]
%}
{% if label_hidden %}
{% if multiple %}
<div{{ attributes.addClass(classes, 'field__items') }}>
{% for item in items %}
{% if loop.last %}
{% set separator = '' %}
{% else %}
{% set separator = ', ' %}
{% endif %}
<span{{ item.attributes.addClass('field__item') }}>{{ item.content }}</span>{{ separator }}
{% endfor %}
</div>
{% else %}
{% for item in items %}
{% if loop.last %}
{% set separator = '' %}
{% else %}
{% set separator = ', ' %}
{% endif %} <span{{ attributes.addClass(classes, 'field__item') }}>{{ item.content }}</span>{{ separator }}
{% endfor %}
{% endif %}
{% else %}
<div{{ attributes.addClass(classes) }}>
<div{{ title_attributes.addClass(title_classes) }}>{{ label }}</div>
{% if multiple %}
<div class="field__items">
{% endif %}
{% for item in items %}
{% if loop.last %}
{% set separator = '' %}
{% else %}
{% set separator = ', ' %}
{% endif %}
<span{{ item.attributes.addClass('field__item') }}>{{ item.content }}</span>{{ separator }}
{% endfor %}
{% if multiple %}
</div>
{% endif %}
</div>
{% endif %}
0
Author: Kieran Mathieson, 2019-04-11 19:47:21