From 4ce30a4f53b43d650bc9bdca9cd01dbfd8e2d129 Mon Sep 17 00:00:00 2001 From: kmurphychi247 <82771690+kmurphychi247@users.noreply.github.com> Date: Wed, 14 Feb 2024 13:55:23 -0600 Subject: [PATCH] updates paragraph and tabs templates (#12) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * updates paragraph and tabs templates * adds template for tabs to fix display --------- Co-authored-by: “Kerry <“kmurphychi@gmail.com”> --- .../block.block.saplings_child_page_title.yml | 4 +- .../field--field-media-oembed-video.html.twig | 72 +++++++++++ ...paragraph--sa-tab-item--sa-tabs.html.twig} | 0 .../paragraph--sa-side-by-side.html.twig | 114 +++++++++++++++--- .../paragaphs/paragraph--sa-tab.html.twig | 55 +++++++++ templates/paragaphs/paragraph.html.twig | 88 ++++++++++++++ 6 files changed, 313 insertions(+), 20 deletions(-) create mode 100644 templates/fields/field--field-media-oembed-video.html.twig rename templates/fields/{field--paragraph--sa-tabs.html.twig => field--paragraph--sa-tab-item--sa-tabs.html.twig} (100%) create mode 100644 templates/paragaphs/paragraph--sa-tab.html.twig create mode 100644 templates/paragaphs/paragraph.html.twig diff --git a/config/optional/block.block.saplings_child_page_title.yml b/config/optional/block.block.saplings_child_page_title.yml index 5752256..e00873e 100644 --- a/config/optional/block.block.saplings_child_page_title.yml +++ b/config/optional/block.block.saplings_child_page_title.yml @@ -1,5 +1,5 @@ langcode: en -status: true +status: false dependencies: theme: - saplings_child @@ -12,6 +12,6 @@ plugin: page_title_block settings: id: page_title_block label: 'Page title' - provider: core label_display: '0' + provider: core visibility: { } diff --git a/templates/fields/field--field-media-oembed-video.html.twig b/templates/fields/field--field-media-oembed-video.html.twig new file mode 100644 index 0000000..6cad8ff --- /dev/null +++ b/templates/fields/field--field-media-oembed-video.html.twig @@ -0,0 +1,72 @@ +{# +/** + * @file + * Default theme implementation for a field. + * + * To override output, copy the "field.html.twig" from the templates directory + * to your theme's directory and customize it, just like customizing other + * Drupal templates such as page.html.twig or node.html.twig. + * + * Instead of overriding the theming for all fields, you can also just override + * theming for a subset of fields using + * @link themeable Theme hook suggestions. @endlink For example, + * here are some theme hook suggestions that can be used for a field_foo field + * on an article node type: + * - field--node--field-foo--article.html.twig + * - field--node--field-foo.html.twig + * - field--node--article.html.twig + * - field--field-foo.html.twig + * - field--text-with-summary.html.twig + * - field.html.twig + * + * Available variables: + * - attributes: HTML attributes for the containing element. + * - label_hidden: Whether to show the field label or not. + * - title_attributes: HTML attributes for the title. + * - label: The label for the field. + * - multiple: TRUE if a field can contain multiple items. + * - items: List of all the field items. Each item contains: + * - attributes: List of HTML attributes for each item. + * - content: The field item's content. + * - entity_type: The entity type to which the field belongs. + * - field_name: The name of the field. + * - field_type: The type of the field. + * - label_display: The display settings for the label. + * + * @see template_preprocess_field() + * + * @ingroup themeable + */ +#} +{% + set title_classes = [ + label_display == 'visually_hidden' ? 'visually-hidden', + ] +%} + +{% if label_hidden %} + {% if multiple %} + + {% for item in items %} +
{{ item.content }}
+ {% endfor %} + + {% else %} + {% for item in items %} +
{{ item.content }}
+ {% endfor %} + {% endif %} +{% else %} + + {{ label }} + {% if multiple %} +
+ {% endif %} + {% for item in items %} +
{{ item.content }}
+ {% endfor %} + {% if multiple %} +
+ {% endif %} + +{% endif %} diff --git a/templates/fields/field--paragraph--sa-tabs.html.twig b/templates/fields/field--paragraph--sa-tab-item--sa-tabs.html.twig similarity index 100% rename from templates/fields/field--paragraph--sa-tabs.html.twig rename to templates/fields/field--paragraph--sa-tab-item--sa-tabs.html.twig diff --git a/templates/paragaphs/paragraph--sa-side-by-side.html.twig b/templates/paragaphs/paragraph--sa-side-by-side.html.twig index 094989e..115feb9 100644 --- a/templates/paragaphs/paragraph--sa-side-by-side.html.twig +++ b/templates/paragaphs/paragraph--sa-side-by-side.html.twig @@ -1,26 +1,104 @@ +{# +/** + * @file + * 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 template_preprocess_paragraph() + * + * @ingroup themeable + */ +#} +{% + set classes = [ + 'paragraph', + 'paragraph--type--' ~ paragraph.bundle|clean_class, + view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class, + not paragraph.isPublished() ? 'paragraph--unpublished' + ] +%} {% set sa_reverse_order = 0 %} {% if content.sa_reverse_order['#items'].value == 1 %} - {% set sa_reverse_order = true %} + {% set sa_reverse_order = true %} {% endif %} {% set textleft = '' %} {% if sa_reverse_order %} - {% set textleft = 'flex-row-reverse' %} + {% set textleft = 'flex-row-reverse' %} {% endif %} -
-
-
-
- {% if content.sa_media is not empty %} - {{ content.sa_media }} - {% endif %} -
-
- {% if content.sa_description is not empty %} - {{ content.sa_description }} - {% endif %} -
-
-
-
+{% set container_class_string = '' %} +{% if paragraph.sa_width.value is not empty %} + {% set container_class_string = paragraph.sa_width.value %} +{% endif %} + +{% set col_class_string = '' %} +{% if paragraph.sa_col.value is not empty %} + {% set col_class_string = paragraph.sa_col.value %} +{% endif %} + +{% set margin_class_string = '' %} +{% if paragraph.sa_margin.value is not empty %} + {% set margin_class_string = paragraph.sa_margin.value %} +{% endif %} + +{% set padding_class_string = '' %} +{% if paragraph.sa_padding.value is not empty %} + {% set padding_class_string = paragraph.sa_padding.value %} +{% endif %} + +{% set bg_class_string = '' %} +{% if paragraph.sa_background.value is not empty %} + {% set bg_class_string = paragraph.sa_background.value %} +{% endif %} + +{% block paragraph %} + +
+
+
+ {% if content.sa_media is not empty %} + {{ content.sa_media }} + {% endif %} +
+
+ {% if content.sa_header is not empty %} + {{ content.sa_header }} + {% endif %} + {% if content.sa_description is not empty %} + {{ content.sa_description }} + {% endif %} +
+
+
+ +{% endblock paragraph %} diff --git a/templates/paragaphs/paragraph--sa-tab.html.twig b/templates/paragaphs/paragraph--sa-tab.html.twig new file mode 100644 index 0000000..fa3ba93 --- /dev/null +++ b/templates/paragaphs/paragraph--sa-tab.html.twig @@ -0,0 +1,55 @@ +{# +/** + * @file + * 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 template_preprocess_paragraph() + * + * @ingroup themeable + */ +#} +{% + set classes = [ + 'paragraph', + 'paragraph--type--' ~ paragraph.bundle|clean_class, + view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class, + not paragraph.isPublished() ? 'paragraph--unpublished' + ] +%} +{% block paragraph %} + + {% block content %} + {{ content }} + {% endblock %} + +{% endblock paragraph %} diff --git a/templates/paragaphs/paragraph.html.twig b/templates/paragaphs/paragraph.html.twig new file mode 100644 index 0000000..c01e058 --- /dev/null +++ b/templates/paragaphs/paragraph.html.twig @@ -0,0 +1,88 @@ +{# +/** + * @file + * 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 template_preprocess_paragraph() + * + * @ingroup themeable + */ +#} +{% + set classes = [ + 'paragraph', + 'paragraph--type--' ~ paragraph.bundle|clean_class, + view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class, + not paragraph.isPublished() ? 'paragraph--unpublished' + ] +%} + +{% set container_class_string = '' %} +{% if paragraph.sa_width.value is not empty %} + {% set container_class_string = paragraph.sa_width.value %} +{% endif %} + +{% set col_class_string = '' %} +{% if paragraph.sa_col.value is not empty %} + {% set col_class_string = paragraph.sa_col.value %} +{% endif %} + +{% set margin_class_string = '' %} +{% if paragraph.sa_margin.value is not empty %} + {% set margin_class_string = paragraph.sa_margin.value %} +{% endif %} + +{% set padding_class_string = '' %} +{% if paragraph.sa_padding.value is not empty %} + {% set padding_class_string = paragraph.sa_padding.value %} +{% endif %} + +{% set bg_class_string = '' %} +{% if paragraph.sa_background.value is not empty %} + {% set bg_class_string = paragraph.sa_background.value %} +{% endif %} + +{% block paragraph %} + +
+ {% if paragraph.sa_col.value is not empty %} +
+
+ {% endif %} + {% block content %} + {{ content }} + {% endblock %} +
+
+
+{% endblock paragraph %}