From dd56aaf5394b4bc239b6c0c9fb5194e8983ff5b0 Mon Sep 17 00:00:00 2001 From: "michael.daniel" <michael@pcsg.de> Date: Tue, 23 Jul 2019 14:15:40 +0200 Subject: [PATCH] feat: New attribute for promoslider: image size, to control speed up of page load. --- .../Bricks/Controls/Slider/Promoslider.html | 4 ++-- .../Bricks/Controls/Slider/Promoslider.php | 19 ++++++++++--------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/QUI/Bricks/Controls/Slider/Promoslider.html b/src/QUI/Bricks/Controls/Slider/Promoslider.html index d29887d..3512f62 100644 --- a/src/QUI/Bricks/Controls/Slider/Promoslider.html +++ b/src/QUI/Bricks/Controls/Slider/Promoslider.html @@ -29,7 +29,7 @@ > </div> {elseif $slide.image} <div class="quiqqer-bricks-promoslider-slide-image"> - {image image=$slide.image} + {image image=$slide.image width=$imageSize} </div> {/if} @@ -78,7 +78,7 @@ > </div> {elseif $slide.image} <div class="quiqqer-bricks-promoslider-slide-mobile-image"> - {image image=$slide.image} + {image image=$slide.image width=$imageSize} </div> {/if} diff --git a/src/QUI/Bricks/Controls/Slider/Promoslider.php b/src/QUI/Bricks/Controls/Slider/Promoslider.php index 6cbd18f..5b9b00d 100644 --- a/src/QUI/Bricks/Controls/Slider/Promoslider.php +++ b/src/QUI/Bricks/Controls/Slider/Promoslider.php @@ -21,10 +21,10 @@ class Promoslider extends AbstractPromoslider * * @param array $attributes */ - public function __construct($attributes = array()) + public function __construct($attributes = []) { // default options - $this->setAttributes(array( + $this->setAttributes([ 'title' => '', 'text' => '', 'class' => 'quiqqer-bricks-promoslider', @@ -36,8 +36,9 @@ public function __construct($attributes = array()) 'image-wallpaper-attachment' => false, 'autostart' => false, 'delay' => 5000, - 'isMobileSlidesEnabled' => false - )); + 'isMobileSlidesEnabled' => false, + 'imageSize' => false // false = use original size, do not create srcset + ]); $this->addCSSFile( dirname(__FILE__) . '/Promoslider.css' @@ -46,7 +47,6 @@ public function __construct($attributes = array()) $this->addCSSClass('grid-100'); $this->addCSSClass('mobile-grid-100'); - parent::__construct($attributes); } @@ -169,12 +169,13 @@ public function getBody() $this->parseSlides($this->getAttribute('desktopslides'), 'desktop'); - $options = array( + $options = [ 'this' => $this, 'desktopSlides' => $this->desktopSlides, - 'Utils' => new Utils() - ); - + 'Utils' => new Utils(), + 'imageSize' => $this->getAttribute('imageSize') + ]; + if ($this->getAttribute('isMobileSlidesEnabled') === "true") { $this->parseSlides($this->getAttribute('mobileslides'), 'mobile'); -- GitLab