apigee-entity.html.twig in Apigee Edge 8
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 also
\Drupal\apigee_edge\Entity\EdgeEntityViewBuilder::getBuildDefaults()
\Drupal\Core\Entity\EntityViewBuilder::getBuildDefaults()
File
templates/apigee-entity.html.twigView source
- {#
- /**
- * @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 %}