-
Notifications
You must be signed in to change notification settings - Fork 46
/
apigee-entity.html.twig
75 lines (70 loc) · 2.95 KB
/
apigee-entity.html.twig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
{#
/**
* @file
* Generic theme implementation to display an Apigee entity.
*
* Drupal core does not yet provide a generic theme for entities therefore you
* have to implement your own entity type specific theme. This will change
* when http://dgo.to/2808481 gets fixed which will introduce a generic template
* for entities with common preprocess functions and theme suggestions.
*
* Available variables:
* - entity: The entity with limited access to object properties and methods.
* Only method names starting with "get", "has", or "is" and a few common
* methods such as "id", "label", and "bundle" are available. For example:
* - entity.getEntityTypeId() will return the entity type ID.
* - entity.hasField('field_example') returns TRUE if the entity includes
* field_example. (This does not indicate the presence of a value in this
* field.)
* Calling other methods, such as entity.delete(), will result in an exception.
* See \Drupal\apigee_edge\Entity\EdgeEntityInterface for a full list of
* methods.
* - label: The title of the entity.
* - content: All rendered field 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.
* - url: Direct URL of the current entity.
* - attributes: HTML attributes for the containing element.
* - title_attributes: Same as attributes, except applied to the main title
* tag that appears in the template.
* - content_attributes: Same as attributes, except applied to the main
* content tag that appears in the template.
* - title_prefix: Additional output populated by modules, intended to be
* displayed in front of the main title tag that appears in the template.
* - title_suffix: Additional output populated by modules, intended to be
* displayed after the main title tag that appears in the template.
* - view_mode: View mode; for example, "teaser" or "full".
*
* @see \Drupal\apigee_edge\Entity\EdgeEntityViewBuilder::getBuildDefaults()
* @see \Drupal\Core\Entity\EntityViewBuilder::getBuildDefaults()
* @see template_preprocess_apigee_entity()
* @see https://www.drupal.org/project/drupal/issues/2808481
*
* @ingroup themeable
*/
#}
{%
set classes = [
'apigee-entity',
view_mode ? 'apigee-entity--view-mode-' ~ view_mode|clean_class,
entity.getEntityTypeId|clean_class,
view_mode ? entity.getEntityTypeId|clean_class ~ '--view-mode-' ~ view_mode|clean_class,
]|merge(classes|default([]))
%}
{% block apigee_entity %}
<article role="article"{{ attributes|without('role').addClass(classes) }}>
{% block content %}
{{ title_prefix }}
{% if label and view_mode != 'full' %}
<h2{{ title_attributes }}>
{{ label }}
</h2>
{% endif %}
{{ title_suffix }}
<div{{ content_attributes }}>
{{ content }}
</div>
{% endblock %}
</article>
{% endblock %}