paragraph.html.twig

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 also

template_preprocess_paragraph()

File

paragraphs/templates/paragraph.html.twig
View source
  1. {#
  2. /**
  3. * @file
  4. * Default theme implementation to display a paragraph.
  5. *
  6. * Available variables:
  7. * - paragraph: Full paragraph entity.
  8. * Only method names starting with "get", "has", or "is" and a few common
  9. * methods such as "id", "label", and "bundle" are available. For example:
  10. * - paragraph.getCreatedTime() will return the paragraph creation timestamp.
  11. * - paragraph.id(): The paragraph ID.
  12. * - paragraph.bundle(): The type of the paragraph, for example, "image" or "text".
  13. * - paragraph.getOwnerId(): The user ID of the paragraph author.
  14. * See Drupal\paragraphs\Entity\Paragraph for a full list of public properties
  15. * and methods for the paragraph object.
  16. * - content: All paragraph items. Use {{ content }} to print them all,
  17. * or print a subset such as {{ content.field_example }}. Use
  18. * {{ content|without('field_example') }} to temporarily suppress the printing
  19. * of a given child element.
  20. * - attributes: HTML attributes for the containing element.
  21. * The attributes.class element may contain one or more of the following
  22. * classes:
  23. * - paragraphs: The current template type (also known as a "theming hook").
  24. * - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an
  25. * "Image" it would result in "paragraphs--type--image". Note that the machine
  26. * name will often be in a short form of the human readable label.
  27. * - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a
  28. * preview would result in: "paragraphs--view-mode--preview", and
  29. * default: "paragraphs--view-mode--default".
  30. * - view_mode: View mode; for example, "preview" or "full".
  31. * - logged_in: Flag for authenticated user status. Will be true when the
  32. * current user is a logged-in member.
  33. * - is_admin: Flag for admin user status. Will be true when the current user
  34. * is an administrator.
  35. *
  36. * @see template_preprocess_paragraph()
  37. *
  38. * @ingroup themeable
  39. */
  40. #}
  41. {%
  42. set classes = [
  43. 'paragraph',
  44. 'paragraph--type--' ~ paragraph.bundle|clean_class,
  45. view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
  46. not paragraph.isPublished() ? 'paragraph--unpublished'
  47. ]
  48. %}
  49. {% block paragraph %}
  50. <div{{ attributes.addClass(classes) }}>
  51. {% block content %}
  52. {{ content }}
  53. {% endblock %}
  54. </div>
  55. {% endblock paragraph %}