From 7a017d4dd05dc8ab9c024b95329edf1384e0c8a3 Mon Sep 17 00:00:00 2001 From: Jan Wennrich <jan@pcsg.de> Date: Fri, 27 Jul 2018 14:30:16 +0200 Subject: [PATCH] PromoSliderWallpaper only uses desktop's slides by default (#88) --- bricks.xml | 6 +++ .../Controls/Slider/PromosliderWallpaper.php | 42 ++++++++++++------- 2 files changed, 33 insertions(+), 15 deletions(-) diff --git a/bricks.xml b/bricks.xml index 8aec116..3ea4205 100644 --- a/bricks.xml +++ b/bricks.xml @@ -337,6 +337,12 @@ <locale group="quiqqer/bricks" var="brick.control.promoslider.settings.desktopslides"/> </setting> + <setting name="isMobileSlidesEnabled" type="hidden" + data-qui="package/quiqqer/bricks/bin/Controls/Slider/ToggleMobileSlidesSetting" + > + <locale group="quiqqer/bricks" var="brick.control.promoslider.settings.isMobileSlidesEnabled"/> + </setting> + <setting name="mobileslides" type="hidden" data-qui="package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettings" > diff --git a/src/QUI/Bricks/Controls/Slider/PromosliderWallpaper.php b/src/QUI/Bricks/Controls/Slider/PromosliderWallpaper.php index 0c0b964..a10dd01 100644 --- a/src/QUI/Bricks/Controls/Slider/PromosliderWallpaper.php +++ b/src/QUI/Bricks/Controls/Slider/PromosliderWallpaper.php @@ -25,17 +25,18 @@ public function __construct($attributes = array()) { // default options $this->setAttributes(array( - 'title' => '', - 'text' => '', - 'class' => 'quiqqer-bricks-promoslider-wallpaper', - 'nodeName' => 'section', - 'data-qui' => 'package/quiqqer/bricks/bin/Controls/Slider/PromosliderWallpaper', - 'role' => 'listbox', - 'shownavigation' => true, - 'showarrows' => 'showHoverScale', - 'autostart' => false, - 'delay' => 5000, - 'template' => dirname(__FILE__) . '/PromosliderWallpaper.html' + 'title' => '', + 'text' => '', + 'class' => 'quiqqer-bricks-promoslider-wallpaper', + 'nodeName' => 'section', + 'data-qui' => 'package/quiqqer/bricks/bin/Controls/Slider/PromosliderWallpaper', + 'role' => 'listbox', + 'shownavigation' => true, + 'showarrows' => 'showHoverScale', + 'autostart' => false, + 'delay' => 5000, + 'template' => dirname(__FILE__) . '/PromosliderWallpaper.html', + 'isMobileSlidesEnabled' => false )); $this->addCSSFile( @@ -112,6 +113,7 @@ public function getBody() $this->setAttribute('data-qui-options-delay', 5000); $this->setAttribute('data-qui-options-shownavigation', false); $this->setAttribute('data-qui-options-showarrows', false); + $this->setAttribute('data-qui-options-isMobileSlidesEnabled', false); if ($this->getAttribute('pagefit') === false) { $this->setAttribute('pagefitcut', false); @@ -218,14 +220,24 @@ public function getBody() $this->parseSlides($this->getAttribute('desktopslides'), 'desktop'); - $this->parseSlides($this->getAttribute('mobileslides'), 'mobile'); - $Engine->assign(array( + $options = array( 'this' => $this, 'desktopSlides' => $this->desktopSlides, - 'mobileSlides' => $this->mobileSlides, 'Utils' => new Utils() - )); + ); + + if ($this->getAttribute('isMobileSlidesEnabled') === "true") { + $this->parseSlides($this->getAttribute('mobileslides'), 'mobile'); + + $options['mobileSlides'] = $this->mobileSlides; + } else { + $this->parseSlides($this->getAttribute('desktopslides'), 'mobile'); + + $options['mobileSlides'] = $this->desktopSlides; + } + + $Engine->assign($options); return $Engine->fetch($this->getAttribute('template')); } -- GitLab