瀏覽代碼

Ticket #2323 - When only one poll is attached then it should be displayed full width in cards.

AntonLV 7 年之前
父節點
當前提交
aede3cf178

+ 10 - 2
modules/base/text/classes/BxBaseModTextTemplate.php

@@ -338,9 +338,16 @@ class BxBaseModTextTemplate extends BxBaseModGeneralTemplate
         if(empty($aPolls) || !is_array($aPolls))
             return;
 
+        $iPolls = 0;
         $sContent = '';
-        foreach($aPolls as $aPoll)
-            $sContent .= $this->getPollItem($aPoll, 0, $aParams);
+        foreach($aPolls as $aPoll) {
+            $sPoll = $this->getPollItem($aPoll, 0, $aParams);
+            if(empty($sPoll))
+                continue;
+
+            $sContent .= $sPoll;
+            $iPolls += 1;
+        }
 
         if(!empty($sContent) && isset($aParams['showcase']) && (bool)$aParams['showcase'] === true) {
             $this->addJs(array('flickity/flickity.pkgd.min.js'));
@@ -349,6 +356,7 @@ class BxBaseModTextTemplate extends BxBaseModGeneralTemplate
             $sContent = $this->parseHtmlByName('poll_items_showcase.html', array(
                 'js_object' => $this->_oConfig->getJsObject('poll'),
                 'html_id' => $this->_oConfig->getHtmlIds('polls_showcase') . $iContentId,
+                'type' => $iPolls == 1 ? 'single' : 'multiple',
                 'polls' => $sContent
             ));
         }

+ 3 - 0
modules/base/text/template/css/polls.css

@@ -194,6 +194,9 @@ div.bx-base-text-pr-graph .bx-base-text-prg-text {
     width: 80vw;
     height: 100vh;
 }
+.bx-page-iframe .bx-base-text-showcase-type-single .bx-base-text-poll {
+    width: 100vw;
+}
 .bx-page-iframe .bx-base-text-poll-cnt {
     height: 100%;
     box-sizing: border-box;

+ 1 - 1
modules/base/text/template/poll_items_showcase.html

@@ -1,4 +1,4 @@
-<div id="__html_id__" class="bx-base-text-polls-showcase">__polls__</div>
+<div id="__html_id__" class="bx-base-text-polls-showcase bx-base-text-showcase-type-__type__">__polls__</div>
 <script>
     $(document).ready(function() {
         __js_object__.initFlickity('#__html_id__');