New options for main image in pages. Fixed sidebar

This commit is contained in:
Pedro Moreno 2023-03-05 22:07:30 +01:00
parent ad423485c0
commit d9abf598f5
7 changed files with 128 additions and 50 deletions

View file

@ -22,14 +22,47 @@ form:
header.subtitle: header.subtitle:
type: text type: text
style: vertical style: vertical
size: long
label: FUTURE.ADMIN.ITEM.ITEM_SUBTITLE label: FUTURE.ADMIN.ITEM.ITEM_SUBTITLE
image_section:
type: section
underline: true
title: FUTURE.ADMIN.DEFAULT.IMAGE_OPTIONS
header.show_pageimage:
type: toggle
style: vertical
label: FUTURE.ADMIN.DEFAULT.SHOW_PAGEIMAGE
help: FUTURE.ADMIN.DEFAULT.SHOW_PAGEIMAGE_HELP
default: 1
highlight: 1
options:
1: PLUGIN_ADMIN.ENABLED
0: PLUGIN_ADMIN.DISABLED
validate:
type: bool
header.primaryImage: header.primaryImage:
ordering@: header.subtitle ordering@: header.subtitle
style: vertical style: vertical
size: medium size: medium
type: pagemediaselect type: pagemediaselect
label: FUTURE.ADMIN.DEFAULT.PRIMARY_IMAGE label: FUTURE.ADMIN.DEFAULT.PRIMARY_IMAGE.LABEL
preview_images: true preview_images: true
header.image_width:
type: number
style: vertical
label: FUTURE.ADMIN.DEFAULT.PRIMARY_IMAGE.WIDTH
size: small
default: 1038
header.image_height:
type: number
style: vertical
label: FUTURE.ADMIN.DEFAULT.PRIMARY_IMAGE.HEIGHT
size: small
default: 437
content_section:
type: section
underline: true
title: FUTURE.ADMIN.DEFAULT.CONTENT
options: options:
fields: fields:
publishing: publishing:

View file

@ -12,8 +12,16 @@ form:
fields: fields:
header.content: header.content:
fields: fields:
image_section:
unset@: true
header.primaryImage: header.primaryImage:
unset@: true unset@: true
header.show_pageimage:
unset@: true
header.image_width:
unset@: true
header.image_height:
unset@: true
banner: banner:
type: tab type: tab
title: FUTURE.ADMIN.MODULAR.BANNER.BANNER_TAB title: FUTURE.ADMIN.MODULAR.BANNER.BANNER_TAB

View file

@ -1,7 +1,12 @@
{% extends 'partials/base.html.twig' %} {% extends 'partials/base.html.twig' %}
{% set show_sidebar = header_var('show_sidebar')|defined(false) %}
{% set image = page.media[page.header.primaryImage] ? : page.media.images|first {# Define if the primary image and the attributes of width and height are shown #}
%} {% set show_image = header_var('show_pageimage')|defined(true) %}
{% set image = page.media[page.header.primaryImage] ?: page.media.all|filter((v, k) => k != page.header.primaryImage and (v.type == 'image' or v.type == 'vector'))|first %}
{% set img_width = header_var('image_width')|default(1038) %}
{% set img_height = header_var('image_height')|default(437) %}
{# Set title and subtitle #}
{% set title = page.title|raw %} {% set title = page.title|raw %}
{% set subtitle = page.header.subtitle|raw %} {% set subtitle = page.header.subtitle|raw %}
@ -13,24 +18,21 @@
<article class="post"> <article class="post">
<header> <header>
<div class="title"> <div class="title">
<h2> <h2>{{ title }}</h2>
{{ title }}
</h2>
{% if subtitle %} {% if subtitle %}
<p> <p>{{ subtitle }}</p>
{{ subtitle }}
</p>
{% endif %} {% endif %}
</div> </div>
</header> </header>
{% if image %} {% if show_image and image %}
<span class="image featured"> <span class="image featured">
{{ image.cropZoom(1038, 437).loading('lazy').attribute('decoding','async').html(title, title)|raw }} {{ image.cropZoom(img_width, img_height).loading('lazy').attribute('decoding','async').html(title, title)|raw }}
</span> </span>
{% endif %} {% endif %}
{{ page.content|raw }} {{ page.content|raw }}
</article> </article>
{% if show_sidebar == false %} {% if show_sidebar == false %}
@ -41,5 +43,7 @@
{% endblock %} {% endblock %}
{% block sidebar %} {% block sidebar %}
{% if show_sidebar == true %}
{% include 'partials/sidebar_left.html.twig' %} {% include 'partials/sidebar_left.html.twig' %}
{% endif %}
{% endblock %} {% endblock %}

View file

@ -1,6 +1,12 @@
{% extends 'partials/base.html.twig' %} {% extends 'partials/base.html.twig' %}
{% set show_sidebar = header_var('show_sidebar')|defined(false) %}
{% set image = page.media[page.header.primaryImage] ?: page.media.images|first %} {# Define if the primary image and the attributes of width and height are shown #}
{% set show_image = header_var('show_pageimage')|defined(true) %}
{% set image = page.media[page.header.primaryImage] ?: page.media.all|filter((v) => (v.type == 'image' or v.type == 'vector'))|first %}
{% set img_width = header_var('image_width')|default(1038) %}
{% set img_height = header_var('image_height')|default(437) %}
{# Set title and subtitle #}
{% set title = page.title|raw %} {% set title = page.title|raw %}
{% set subtitle = page.header.subtitle|raw %} {% set subtitle = page.header.subtitle|raw %}
@ -26,9 +32,9 @@
</div> </div>
</header> </header>
{% if image %} {% if show_image and image %}
<span class="image featured"> <span class="image featured">
{{ image.cropZoom(1038,437).loading('lazy').attribute('decoding','async').html(title, title)|raw }} {{ image.cropZoom(img_width,img_height).loading('lazy').attribute('decoding','async').html(title, title)|raw }}
</span> </span>
{% endif %} {% endif %}
@ -40,6 +46,10 @@
</article> </article>
{% endblock %} {% endblock %}
{% block sidebar %} {% block sidebar %}
{% if show_sidebar == true %}
{% include 'partials/sidebar_left.html.twig' %} {% include 'partials/sidebar_left.html.twig' %}
{% endif %}
{% endblock %} {% endblock %}

View file

@ -1,6 +1,16 @@
{% set image = page.media[page.header.primaryImage] ?: page.media.images|first %} {# Define if sidebar is shown in the page #}
{% set show_image = header_var('show_pageimage')|defined(true) %}
{# Define if the primary image and the attributes of width and height are shown #}
{% set image = page.media[page.header.primaryImage] ?: page.media.all|filter((v) => (v.type == 'image' or v.type == 'vector'))|first %}
{% set img_width = header_var('image_width')|default(1038) %}
{% set img_height = header_var('image_height')|default(437) %}
{# Set title and subtitle #}
{% set title = page.title|raw %} {% set title = page.title|raw %}
{% set subtitle = page.header.subtitle|raw %} {% set subtitle = page.header.subtitle|raw %}
{# Set columns for features page #}
{% set columns = page.header.layout == 'standard' ? 'col-4 col-6-medium col-12-small' : 'col-6 col-12-small' %} {% set columns = page.header.layout == 'standard' ? 'col-4 col-6-medium col-12-small' : 'col-6 col-12-small' %}
<section id="features"> <section id="features">
@ -11,8 +21,8 @@
{% endif %} {% endif %}
</header> </header>
{% if image %} {% if show_image and image %}
{{ image.cropZoom(1038,437).loading('lazy').attribute('decoding','async').html(title, title, 'image featured')|raw }} {{ image.cropZoom(img_width,img_height).loading('lazy').attribute('decoding','async').html(title, title, 'image featured')|raw }}
{% endif %} {% endif %}
{{ page.content|raw }} {{ page.content|raw }}

View file

@ -10,9 +10,18 @@
{% set author = page.taxonomy.author[0] %} {% set author = page.taxonomy.author[0] %}
{% endif %} {% endif %}
{% set title = page.title|raw %} {# Set avatar image and primary image #}
{% set avatar = page.media[page.header.avatarImage].url|e %} {% set avatar = page.media[page.header.avatarImage].url|e %}
{% set image = page.media[page.header.primaryImage] ?: page.media.all|filter((v, k) => k != page.header.avatarImage and (v.type == 'image' or v.type == 'vector'))|first %} {% set image = page.media[page.header.primaryImage] ?: page.media.all|filter((v, k) => k != page.header.avatarImage and (v.type == 'image' or v.type == 'vector'))|first %}
{# Define if the primary image and the attributes of width and height are shown #}
{% set show_image = header_var('show_pageimage')|defined(true) %}
{% set img_width = header_var('image_width')|default(1038) %}
{% set img_height = header_var('image_height')|default(437) %}
{# Set title and subtitle #}
{% set title = page.title|raw %}
{% set subtitle = page.header.subtitle|raw %}
<header> <header>
<div class="title"> <div class="title">
@ -28,8 +37,8 @@
<a href="{{ page.url }}" aria-label="{{ title }}">{{ title }}</a> <a href="{{ page.url }}" aria-label="{{ title }}">{{ title }}</a>
</h2> </h2>
{% endif %} {% endif %}
{% if page.header.subtitle %} {% if subtitle %}
<p itemprop="alternativeHeadline">{{ page.header.subtitle|raw }}</p> <p itemprop="alternativeHeadline">{{ subtitle|raw }}</p>
{% endif %} {% endif %}
</div> </div>
<div class="meta"> <div class="meta">
@ -49,9 +58,9 @@
{% endif %} {% endif %}
</div> </div>
</header> </header>
{% if image %} {% if show_image and image %}
<a class="image featured" href="{{ page.url }}" title="{{ title|raw }}" rel="nofollow"> <a class="image featured" href="{{ page.url }}" title="{{ title|raw }}" rel="nofollow">
{{ image.cropZoom(1038,437).loading('lazy').attribute('decoding','async').html(title, title)|raw }} {{ image.cropZoom(img_width,img_height).loading('lazy').attribute('decoding','async').html(title, title)|raw }}
</a> </a>
{% endif %} {% endif %}
<div itemprop="articleBody"> <div itemprop="articleBody">

View file

@ -1,6 +1,11 @@
{% extends 'partials/base.html.twig' %} {% extends 'partials/base.html.twig' %}
{% set show_sidebar = header_var('show_sidebar')|defined(false) %}
{% set image = page.media[page.header.primaryImage] %} {# Define if the primary image and the attributes of width and height are shown #}
{% set image = page.media[page.header.primaryImage] ?: page.media.all|filter((v) => (v.type == 'image' or v.type == 'vector'))|first %}
{% set img_width = header_var('image_width')|default(1038) %}
{% set img_height = header_var('image_height')|default(437) %}
{# Set title and subtitle #}
{% set title = page.title|raw %} {% set title = page.title|raw %}
{% set subtitle = page.header.subtitle|raw %} {% set subtitle = page.header.subtitle|raw %}
{% set columns = page.header.layout == 'standard' ? 'col-4 col-6-medium col-12-small' : 'col-6 col-12-small' %} {% set columns = page.header.layout == 'standard' ? 'col-4 col-6-medium col-12-small' : 'col-6 col-12-small' %}
@ -9,9 +14,10 @@
{{ parent() }} {{ parent() }}
{% do assets.addCss('theme://assets/css/glightbox.min.css') %} {% do assets.addCss('theme://assets/css/glightbox.min.css') %}
{% set styling %} {% set styling %}
button.gclose.gbtn, button.gnext.gbtn, button.gprev.gbtn { button.gclose.gbtn, button.gnext.gbtn, button.gprev.gbtn {
box-shadow: none !important; box-shadow: none !important;
} }
{% endset %} {% endset %}
{% do assets.addInlineCss(styling) %} {% do assets.addInlineCss(styling) %}
{% endblock %} {% endblock %}
@ -28,19 +34,15 @@
<article class="post"> <article class="post">
<header> <header>
<div class="title"> <div class="title">
<h2> <h2>{{ title }}</h2>
{{ title }}
</h2>
{% if subtitle %} {% if subtitle %}
<p> <p>{{ subtitle }}</p>
{{ subtitle }}
</p>
{% endif %} {% endif %}
</div> </div>
</header> </header>
{% if image %} {% if show_image and image %}
<span class="image featured"> <span class="image featured">
{{ image.cropZoom(1038,437).loading('lazy').attribute('decoding','async').html(title, title)|raw }} {{ image.cropZoom(img_width,img_height).loading('lazy').attribute('decoding','async').html(title, title)|raw }}
</span> </span>
{% endif %} {% endif %}
@ -50,19 +52,19 @@
{% block portfolio %} {% block portfolio %}
<section> <section>
<div class="row aln-center"> <div class="row aln-center">
{% for item in gallery %} {% for item in gallery %}
{% set item_image = page.media[item.image] %} {% set item_image = page.media[item.image] %}
{% set item_title = item.title %} {% set item_title = item.title %}
{% set item_desc = item.description %} {% set item_desc = item.description %}
{% set thumbnail = item_image.cropZoom(thumb_w, thumb_h).loading('lazy').attribute('decoding','async').attribute('itemprop','http://schema.org/image').html(item_title,item_title) %} {% set thumbnail = item_image.cropZoom(thumb_w, thumb_h).loading('lazy').attribute('decoding','async').attribute('itemprop','http://schema.org/image').html(item_title,item_title) %}
<div class="{{columns}} portfolio_item"> <div class="{{columns}} portfolio_item">
<a href="{{item_image.url}}" class="glightbox"data-height="{{page.header.height}}" data-width="{{page.header.width}}" data-title="{{item_title}}" data-description="{{item_desc|raw}}" data-desc-position="{{item.descPosition}}" data-zoomable="{{page.header.zoomable}}" data-draggable="{{page.header.draggable}}" data-type="image"> <a href="{{item_image.url}}" class="glightbox" data-height="{{page.header.height}}" data-width="{{page.header.width}}" data-title="{{item_title}}" data-description="{{item_desc|raw}}" data-desc-position="{{item.descPosition}}" data-zoomable="{{page.header.zoomable}}" data-draggable="{{page.header.draggable}}" data-type="image">
<span class="image fit"> <span class="image fit">
{{ thumbnail }} {{ thumbnail }}
</span> </span>
</a> </a>
</div> </div>
{% endfor %} {% endfor %}
</div> </div>
</section> </section>
{% endblock %} {% endblock %}
@ -76,7 +78,9 @@
{% endblock %} {% endblock %}
{% block sidebar %} {% block sidebar %}
{% if show_sidebar == true %}
{% include 'partials/sidebar_left.html.twig' %} {% include 'partials/sidebar_left.html.twig' %}
{% endif %}
{% endblock %} {% endblock %}
{% block javascripts %} {% block javascripts %}