You are here

group--teaser.html.twig in Open Social 8.2

Default theme implementation to display a group.

Available variables:

  • group: The group entity with limited access to object properties and methods. Only "getter" methods (method names starting with "get", "has", or "is") and a few common methods such as "id" and "label" are available. Calling other methods (such as group.delete) will result in an exception.
  • label: The title of the group.
  • content: All group 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 group.
  • attributes: HTML attributes for the containing element. The attributes.class element may contain one or more of the following classes:

    • group: The current template type (also known as a "theming hook").
    • group--[type]: The current group type. For example, if the group is a "Classroom" it would result in "group--classroom". Note that the machine name will often be in a short form of the human readable label.
    • group--[view_mode]: The View Mode of the group; for example, a teaser would result in: "group--teaser", and full: "group--full".
  • 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".
  • page: Flag for the full page state. Will be true if view_mode is 'full'.

File

themes/socialbase/templates/group/group--teaser.html.twig
View source
  1. {#
  2. /**
  3. * @file
  4. * Default theme implementation to display a group.
  5. *
  6. * Available variables:
  7. * - group: The group entity with limited access to object properties and
  8. * methods. Only "getter" methods (method names starting with "get", "has",
  9. * or "is") and a few common methods such as "id" and "label" are available.
  10. * Calling other methods (such as group.delete) will result in an exception.
  11. * - label: The title of the group.
  12. * - content: All group items. Use {{ content }} to print them all,
  13. * or print a subset such as {{ content.field_example }}. Use
  14. * {{ content|without('field_example') }} to temporarily suppress the
  15. * printing of a given child element.
  16. * - url: Direct URL of the current group.
  17. * - attributes: HTML attributes for the containing element.
  18. * The attributes.class element may contain one or more of the following
  19. * classes:
  20. * - group: The current template type (also known as a "theming hook").
  21. * - group--[type]: The current group type. For example, if the group is a
  22. * "Classroom" it would result in "group--classroom". Note that the machine
  23. * name will often be in a short form of the human readable label.
  24. * - group--[view_mode]: The View Mode of the group; for example, a
  25. * teaser would result in: "group--teaser", and full: "group--full".
  26. * - title_attributes: Same as attributes, except applied to the main title
  27. * tag that appears in the template.
  28. * - content_attributes: Same as attributes, except applied to the main
  29. * content tag that appears in the template.
  30. * - title_prefix: Additional output populated by modules, intended to be
  31. * displayed in front of the main title tag that appears in the template.
  32. * - title_suffix: Additional output populated by modules, intended to be
  33. * displayed after the main title tag that appears in the template.
  34. * - view_mode: View mode; for example, "teaser" or "full".
  35. * - page: Flag for the full page state. Will be true if view_mode is 'full'.
  36. *
  37. * @see template_preprocess_group()
  38. *
  39. * @ingroup themeable
  40. */
  41. #}
  42. {{ attach_library('socialbase/teaser')}}
  43. <div class="card teaser">
  44. <div class='teaser__image'>
  45. {{ content.field_group_image }}
  46. </div>
  47. <div class='teaser__body'>
  48. <div class="teaser__content">
  49. {{ title_prefix }}
  50. {% if not page %}
  51. <h4{{ title_attributes }} class="teaser__title">
  52. {% if closed_group_lock %}
  53. <svg class="icon-gray icon-small">
  54. <use xlink:href="#icon-lock"></use>
  55. </svg>
  56. {% endif %}
  57. <a href="{{ url }}" rel="bookmark">{{ label }}</a>
  58. </h4>
  59. {% endif %}
  60. {{ title_suffix }}
  61. <div class="teaser__content-line">
  62. <svg class="teaser__content-type-icon">
  63. <use xlink:href="#icon-group"></use>
  64. </svg>
  65. <span class="teaser__content-text">
  66. {% trans %}
  67. 1 member
  68. {% plural group_members %}
  69. @count members
  70. {% endtrans %}
  71. &nbsp;
  72. </span>
  73. </div>
  74. {% if content.field_group_location|render or content.field_group_address|render %}
  75. <div class="teaser__content-line">
  76. <svg class="teaser__content-type-icon">
  77. <use xlink:href="#icon-location"></use>
  78. </svg>
  79. <span class="teaser__content-text">
  80. {{ content.field_group_location }}
  81. {% if content.field_group_location|render is not empty and content.field_group_address|render is not empty %} &bullet;{% endif %}
  82. {{ content.field_group_address }}
  83. </span>
  84. </div>
  85. {% endif %}
  86. </div>
  87. <div class="card__actionbar">
  88. {% if joined %}
  89. <span class="badge teaser__badge badge-secondary">
  90. {% trans %}Joined{% endtrans %}
  91. </span>
  92. {% endif %}
  93. <a href="{{ url }}" class="card__link" title="{{ label }}">
  94. {% trans %}Read more{% endtrans %}
  95. </a>
  96. </div>
  97. </div>
  98. </div>