From e7d0e2eb8451d597a61c6547c7d4d5b84b6e6f9d Mon Sep 17 00:00:00 2001 From: arturu Date: Fri, 5 Apr 2024 22:58:08 +0200 Subject: [PATCH] feat: add scuola/presentazione second level --- composer.libraries.json | 4 +- skenografia.libraries.yml | 4 +- ...ull--path--scuola--presentazione.html.twig | 131 ++++++++++++++++++ 3 files changed, 135 insertions(+), 4 deletions(-) create mode 100644 templates/views/secondo_livello/scuola_presentazione/node--type-page--view-mode-full--path--scuola--presentazione.html.twig diff --git a/composer.libraries.json b/composer.libraries.json index 883e8fd3..c3b8b3b1 100644 --- a/composer.libraries.json +++ b/composer.libraries.json @@ -21,13 +21,13 @@ "type": "package", "package": { "name": "ouitoulia/skenografia-dist", - "version": "1.22.7", + "version": "1.23.0", "type": "drupal-library", "extra": { "installer-name": "ouitoulia-skenografia" }, "dist": { - "url": "https://github.com/ouitoulia/skenografia/releases/download/1.22.7/skenografia.zip", + "url": "https://github.com/ouitoulia/skenografia/releases/download/1.23.0/skenografia.zip", "type": "zip" } } diff --git a/skenografia.libraries.yml b/skenografia.libraries.yml index 3e0e0577..b28aff42 100755 --- a/skenografia.libraries.yml +++ b/skenografia.libraries.yml @@ -9,7 +9,7 @@ # Bootstrap-italia library if you use a CDN cdn: - version: 1.22.7 + version: 1.23.0 css: theme: /libraries/ouitoulia-skenografia/css/bootstrap-italia.min.css: { minified: true } @@ -20,7 +20,7 @@ cdn: # Skenografia toc_js custom loader toc: - version: 1.22.7 + version: 1.23.0 js: /libraries/ouitoulia-skenografia/js/toc_js_loader.min.js: { minified: true } #dist/js/toc_js_loader.min.js: { } diff --git a/templates/views/secondo_livello/scuola_presentazione/node--type-page--view-mode-full--path--scuola--presentazione.html.twig b/templates/views/secondo_livello/scuola_presentazione/node--type-page--view-mode-full--path--scuola--presentazione.html.twig new file mode 100644 index 00000000..2e0bf57a --- /dev/null +++ b/templates/views/secondo_livello/scuola_presentazione/node--type-page--view-mode-full--path--scuola--presentazione.html.twig @@ -0,0 +1,131 @@ +{# +/** + * @file + * Default theme implementation to display a node. + * + * Available variables: + * - node: The node 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: + * - node.getCreatedTime() will return the node creation timestamp. + * - node.hasField('field_example') returns TRUE if the node bundle includes + * field_example. (This does not indicate the presence of a value in this + * field.) + * - node.isPublished() will return whether the node is published or not. + * Calling other methods, such as node.delete(), will result in an exception. + * See \Drupal\node\Entity\Node for a full list of public properties and + * methods for the node object. + * - label: (optional) The title of the node. + * - content: All node 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. + * - author_picture: The node author user entity, rendered using the "compact" + * view mode. + * - metadata: Metadata for this node. + * - date: (optional) Themed creation date field. + * - author_name: (optional) Themed author name field. + * - url: Direct URL of the current node. + * - display_submitted: Whether submission information should be displayed. + * - attributes: HTML attributes for the containing element. + * The attributes.class element may contain one or more of the following + * classes: + * - node: The current template type (also known as a "theming hook"). + * - node--type-[type]: The current node type. For example, if the node is an + * "Article" it would result in "node--type-article". Note that the machine + * name will often be in a short form of the human readable label. + * - node--view-mode-[view_mode]: The View Mode of the node; for example, a + * teaser would result in: "node--view-mode-teaser", and + * full: "node--view-mode-full". + * The following are controlled through the node publishing options. + * - node--promoted: Appears on nodes promoted to the front page. + * - node--sticky: Appears on nodes ordered above other non-sticky nodes in + * teaser listings. + * - node--unpublished: Appears on unpublished nodes visible only to site + * admins. + * - 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. + * - author_attributes: Same as attributes, except applied to the author of + * the node 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". + * - teaser: Flag for the teaser state. Will be true if view_mode is 'teaser'. + * - page: Flag for the full page state. Will be true if view_mode is 'full'. + * - readmore: Flag for more state. Will be true if the teaser content of the + * node cannot hold the main body content. + * - 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_node() + * + * @ingroup themeable + */ +#} +{% apply spaceless %} + + {% set tipologia_sezione_map = { + 'generica': 'petrol', + 'scuola': 'redbrown', + 'servizi': 'purplelight', + 'notizie': 'greendark', + 'didattica': 'bluelectric' + } %} + + {% set _sezione = content.field_tipologia_sezione[0]['#markup'] ?? 'generica' %} + {% set _has_image = content.field_copertina[0] is iterable %} + + {% set _section_classes = [ + 'section', + 'bg-' ~ tipologia_sezione_map[_sezione], + 'py-5', + 'py-lg-3' + ] %} + + {% set classes = [ + 'node', + 'node--type-' ~ node.bundle|clean_class, + node.isPromoted() ? 'node--promoted', + node.isSticky() ? 'node--sticky', + not node.isPublished() ? 'node--unpublished', + view_mode ? 'node--view-mode-' ~ view_mode|clean_class, + ] %} + + +
+
+ {% if _has_image %} +
+
+ {{ content.field_copertina }} +
+
+ {% endif %} +
+
+ {{ label }} + {% if content.field_abstract[0] is iterable %} +

{{ content.field_abstract }}

+ {% endif %} +
+
+
+
+ + + + + {{ content|without( + 'field_tipologia_sezione', + 'field_copertina', + 'field_abstract' + ) }} + + +{% endapply %}