5 changed files with 227 additions and 2 deletions
@ -0,0 +1,81 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override for a field. |
||||||
|
* |
||||||
|
* To override output, copy the "field.html.twig" from the templates directory |
||||||
|
* to your theme's directory and customize it, just like customizing other |
||||||
|
* Drupal templates such as page.html.twig or node.html.twig. |
||||||
|
* |
||||||
|
* Instead of overriding the theming for all fields, you can also just override |
||||||
|
* theming for a subset of fields using |
||||||
|
* @link themeable Theme hook suggestions. @endlink For example, |
||||||
|
* here are some theme hook suggestions that can be used for a field_foo field |
||||||
|
* on an article node type: |
||||||
|
* - field--node--field-foo--article.html.twig |
||||||
|
* - field--node--field-foo.html.twig |
||||||
|
* - field--node--article.html.twig |
||||||
|
* - field--field-foo.html.twig |
||||||
|
* - field--text-with-summary.html.twig |
||||||
|
* - field.html.twig |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - attributes: HTML attributes for the containing element. |
||||||
|
* - label_hidden: Whether to show the field label or not. |
||||||
|
* - title_attributes: HTML attributes for the title. |
||||||
|
* - label: The label for the field. |
||||||
|
* - multiple: TRUE if a field can contain multiple items. |
||||||
|
* - items: List of all the field items. Each item contains: |
||||||
|
* - attributes: List of HTML attributes for each item. |
||||||
|
* - content: The field item's content. |
||||||
|
* - entity_type: The entity type to which the field belongs. |
||||||
|
* - field_name: The name of the field. |
||||||
|
* - field_type: The type of the field. |
||||||
|
* - label_display: The display settings for the label. |
||||||
|
* |
||||||
|
* |
||||||
|
* @see template_preprocess_field() |
||||||
|
*/ |
||||||
|
#} |
||||||
|
{% |
||||||
|
set classes = [ |
||||||
|
'field', |
||||||
|
'field--name-' ~ field_name|clean_class, |
||||||
|
'field--type-' ~ field_type|clean_class, |
||||||
|
'field--label-' ~ label_display, |
||||||
|
label_display == 'inline' ? 'clearfix', |
||||||
|
] |
||||||
|
%} |
||||||
|
{% |
||||||
|
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 %} |
||||||
|
<div{{ item.attributes.addClass('field__item') }}> ({{ item.content }})</div> |
||||||
|
{% endfor %} |
||||||
|
</div> |
||||||
|
{% else %} |
||||||
|
{% for item in items %} |
||||||
|
<div{{ attributes.addClass(classes, 'field__item') }}> ({{ item.content }})</div> |
||||||
|
{% 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 %} |
||||||
|
<div{{ item.attributes.addClass('field__item') }}>{{ item.content }}</div> |
||||||
|
{% endfor %} |
||||||
|
{% if multiple %} |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
@ -0,0 +1,81 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override for a field. |
||||||
|
* |
||||||
|
* To override output, copy the "field.html.twig" from the templates directory |
||||||
|
* to your theme's directory and customize it, just like customizing other |
||||||
|
* Drupal templates such as page.html.twig or node.html.twig. |
||||||
|
* |
||||||
|
* Instead of overriding the theming for all fields, you can also just override |
||||||
|
* theming for a subset of fields using |
||||||
|
* @link themeable Theme hook suggestions. @endlink For example, |
||||||
|
* here are some theme hook suggestions that can be used for a field_foo field |
||||||
|
* on an article node type: |
||||||
|
* - field--node--field-foo--article.html.twig |
||||||
|
* - field--node--field-foo.html.twig |
||||||
|
* - field--node--article.html.twig |
||||||
|
* - field--field-foo.html.twig |
||||||
|
* - field--text-with-summary.html.twig |
||||||
|
* - field.html.twig |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - attributes: HTML attributes for the containing element. |
||||||
|
* - label_hidden: Whether to show the field label or not. |
||||||
|
* - title_attributes: HTML attributes for the title. |
||||||
|
* - label: The label for the field. |
||||||
|
* - multiple: TRUE if a field can contain multiple items. |
||||||
|
* - items: List of all the field items. Each item contains: |
||||||
|
* - attributes: List of HTML attributes for each item. |
||||||
|
* - content: The field item's content. |
||||||
|
* - entity_type: The entity type to which the field belongs. |
||||||
|
* - field_name: The name of the field. |
||||||
|
* - field_type: The type of the field. |
||||||
|
* - label_display: The display settings for the label. |
||||||
|
* |
||||||
|
* |
||||||
|
* @see template_preprocess_field() |
||||||
|
*/ |
||||||
|
#} |
||||||
|
{% |
||||||
|
set classes = [ |
||||||
|
'field', |
||||||
|
'field--name-' ~ field_name|clean_class, |
||||||
|
'field--type-' ~ field_type|clean_class, |
||||||
|
'field--label-' ~ label_display, |
||||||
|
label_display == 'inline' ? 'clearfix', |
||||||
|
] |
||||||
|
%} |
||||||
|
{% |
||||||
|
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 %} |
||||||
|
<div{{ item.attributes.addClass('field__item') }}>{{ item.content }}</div> |
||||||
|
{% endfor %} |
||||||
|
</div> |
||||||
|
{% else %} |
||||||
|
{% for item in items %} |
||||||
|
<div{{ attributes.addClass(classes, 'field__item') }}>{{ item.content }}</div> |
||||||
|
{% 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 %} |
||||||
|
<div{{ item.attributes.addClass('field__item') }}>{{ item.content }}</div> |
||||||
|
{% endfor %} |
||||||
|
{% if multiple %} |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
@ -0,0 +1,57 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Default theme implementation to display a paragraph. |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - paragraph: Full paragraph entity. |
||||||
|
* Only method names starting with "get", "has", or "is" and a few common |
||||||
|
* methods such as "id", "label", and "bundle" are available. For example: |
||||||
|
* - paragraph.getCreatedTime() will return the paragraph creation timestamp. |
||||||
|
* - paragraph.id(): The paragraph ID. |
||||||
|
* - paragraph.bundle(): The type of the paragraph, for example, "image" or "text". |
||||||
|
* - paragraph.getOwnerId(): The user ID of the paragraph author. |
||||||
|
* See Drupal\paragraphs\Entity\Paragraph for a full list of public properties |
||||||
|
* and methods for the paragraph object. |
||||||
|
* - content: All paragraph items. Use {{ content }} to print them all, |
||||||
|
* or print a subset such as {{ content.field_example }}. Use |
||||||
|
* {{ content|without('field_example') }} to temporarily suppress the printing |
||||||
|
* of a given child element. |
||||||
|
* - attributes: HTML attributes for the containing element. |
||||||
|
* The attributes.class element may contain one or more of the following |
||||||
|
* classes: |
||||||
|
* - paragraphs: The current template type (also known as a "theming hook"). |
||||||
|
* - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an |
||||||
|
* "Image" it would result in "paragraphs--type--image". Note that the machine |
||||||
|
* name will often be in a short form of the human readable label. |
||||||
|
* - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a |
||||||
|
* preview would result in: "paragraphs--view-mode--preview", and |
||||||
|
* default: "paragraphs--view-mode--default". |
||||||
|
* - view_mode: View mode; for example, "preview" or "full". |
||||||
|
* - logged_in: Flag for authenticated user status. Will be true when the |
||||||
|
* current user is a logged-in member. |
||||||
|
* - is_admin: Flag for admin user status. Will be true when the current user |
||||||
|
* is an administrator. |
||||||
|
* |
||||||
|
* @see template_preprocess_paragraph() |
||||||
|
* |
||||||
|
* @ingroup themeable |
||||||
|
*/ |
||||||
|
#} |
||||||
|
{% |
||||||
|
set classes = [ |
||||||
|
'paragraph', |
||||||
|
'paragraph--type--' ~ paragraph.bundle|clean_class, |
||||||
|
view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class, |
||||||
|
not paragraph.isPublished() ? 'paragraph--unpublished' |
||||||
|
] |
||||||
|
%} |
||||||
|
{% block paragraph %} |
||||||
|
<div{{ attributes.addClass(classes) }}> |
||||||
|
{% block content %} |
||||||
|
{{ content.field_contributor_name_and_role }} |
||||||
|
{{ content.field_contributor_description }} |
||||||
|
{% endblock %} |
||||||
|
</div> |
||||||
|
|
||||||
|
{% endblock paragraph %} |
||||||
Loading…
Reference in new issue