|
| 1 | +{# |
| 2 | +/** |
| 3 | + * @file |
| 4 | + * Default theme implementation to display a node. |
| 5 | + * |
| 6 | + * Available variables: |
| 7 | + * - node: The node entity with limited access to object properties and methods. |
| 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 | + * - node.getCreatedTime() will return the node creation timestamp. |
| 11 | + * - node.hasField('field_example') returns TRUE if the node bundle includes |
| 12 | + * field_example. (This does not indicate the presence of a value in this |
| 13 | + * field.) |
| 14 | + * - node.isPublished() will return whether the node is published or not. |
| 15 | + * Calling other methods, such as node.delete(), will result in an exception. |
| 16 | + * See \Drupal\node\Entity\Node for a full list of public properties and |
| 17 | + * methods for the node object. |
| 18 | + * - label: (optional) The title of the node. |
| 19 | + * - content: All node items. Use {{ content }} to print them all, |
| 20 | + * or print a subset such as {{ content.field_example }}. Use |
| 21 | + * {{ content|without('field_example') }} to temporarily suppress the printing |
| 22 | + * of a given child element. |
| 23 | + * - author_picture: The node author user entity, rendered using the "compact" |
| 24 | + * view mode. |
| 25 | + * - metadata: Metadata for this node. |
| 26 | + * - date: (optional) Themed creation date field. |
| 27 | + * - author_name: (optional) Themed author name field. |
| 28 | + * - url: Direct URL of the current node. |
| 29 | + * - display_submitted: Whether submission information should be displayed. |
| 30 | + * - attributes: HTML attributes for the containing element. |
| 31 | + * The attributes.class element may contain one or more of the following |
| 32 | + * classes: |
| 33 | + * - node: The current template type (also known as a "theming hook"). |
| 34 | + * - node--type-[type]: The current node type. For example, if the node is an |
| 35 | + * "Article" it would result in "node--type-article". Note that the machine |
| 36 | + * name will often be in a short form of the human readable label. |
| 37 | + * - node--view-mode-[view_mode]: The View Mode of the node; for example, a |
| 38 | + * teaser would result in: "node--view-mode-teaser", and |
| 39 | + * full: "node--view-mode-full". |
| 40 | + * The following are controlled through the node publishing options. |
| 41 | + * - node--promoted: Appears on nodes promoted to the front page. |
| 42 | + * - node--sticky: Appears on nodes ordered above other non-sticky nodes in |
| 43 | + * teaser listings. |
| 44 | + * - node--unpublished: Appears on unpublished nodes visible only to site |
| 45 | + * admins. |
| 46 | + * - title_attributes: Same as attributes, except applied to the main title |
| 47 | + * tag that appears in the template. |
| 48 | + * - content_attributes: Same as attributes, except applied to the main |
| 49 | + * content tag that appears in the template. |
| 50 | + * - author_attributes: Same as attributes, except applied to the author of |
| 51 | + * the node tag that appears in the template. |
| 52 | + * - title_prefix: Additional output populated by modules, intended to be |
| 53 | + * displayed in front of the main title tag that appears in the template. |
| 54 | + * - title_suffix: Additional output populated by modules, intended to be |
| 55 | + * displayed after the main title tag that appears in the template. |
| 56 | + * - view_mode: View mode; for example, "teaser" or "full". |
| 57 | + * - teaser: Flag for the teaser state. Will be true if view_mode is 'teaser'. |
| 58 | + * - page: Flag for the full page state. Will be true if view_mode is 'full'. |
| 59 | + * - readmore: Flag for more state. Will be true if the teaser content of the |
| 60 | + * node cannot hold the main body content. |
| 61 | + * - logged_in: Flag for authenticated user status. Will be true when the |
| 62 | + * current user is a logged-in member. |
| 63 | + * - is_admin: Flag for admin user status. Will be true when the current user |
| 64 | + * is an administrator. |
| 65 | + * |
| 66 | + * @see template_preprocess_node() |
| 67 | + * |
| 68 | + * @todo Remove the id attribute (or make it a class), because if that gets |
| 69 | + * rendered twice on a page this is invalid CSS for example: two lists |
| 70 | + * in different view modes. |
| 71 | + * |
| 72 | + * @ingroup themeable |
| 73 | + */ |
| 74 | +#} |
| 75 | +<article{{ attributes.addClass("container") }}> |
| 76 | + |
| 77 | + {{ title_prefix }} |
| 78 | + {% if label %} |
| 79 | + <h1{{ title_attributes }}> |
| 80 | + {{ label }} |
| 81 | + </h1> |
| 82 | + {% endif %} |
| 83 | + {{ title_suffix }} |
| 84 | + |
| 85 | + <div class="row"> |
| 86 | + <div class="col-md-9"> |
| 87 | + <div class="d-flex justify-content-between"> |
| 88 | + <i class="bi bi-file-person"></i> |
| 89 | + {# TODO fix image #} |
| 90 | + <div class="col-md"> |
| 91 | + <div>{{ author_name }}</div> |
| 92 | + <div>metadata</div> |
| 93 | + {# TODO fix metadata #} |
| 94 | + </div> |
| 95 | + </div> |
| 96 | + <div class="mt-5"> |
| 97 | + {{ content.os2loop_external_descripti }} |
| 98 | + {{ content.os2loop_external_url }} |
| 99 | + </div> |
| 100 | + </div> |
| 101 | + <div class="col-md-3 rounded bg-secondary-loop pb-2 pt-2"> |
| 102 | + {{ content.os2loop_shared_tags }} |
| 103 | + {{ content.os2loop_shared_profession }} |
| 104 | + {{ content.os2loop_shared_subject }} |
| 105 | + </div> |
| 106 | + </div> |
| 107 | +</article> |
0 commit comments