]> _ Git - fluidbook-toolbox.git/commitdiff
wait #7560 @2
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 20 May 2025 15:29:43 +0000 (17:29 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 20 May 2025 15:29:43 +0000 (17:29 +0200)
app/Fluidbook/Compiler/Cart.php
app/Http/Controllers/Admin/Operations/FluidbookPublication/Services/PumaOperation.php
resources/puma/planogramme/style.css
resources/puma/planogramme/style.css.map
resources/puma/planogramme/style.less

index dee94b8d1731b41556fa42019773315c51675e25..9b556028580e269ab4f18b94e52619f5091e39f0 100644 (file)
@@ -490,8 +490,12 @@ trait Cart
         $this->config->setRaw('product_zoom_references', $productZoomReferences);
         $this->config->setRaw('basketReferences', $cartReferences);
 
-        file_put_contents($this->wdir . 'commerce/references.json', json_encode($cartReferences));
-        file_put_contents($this->wdir . 'commerce/references_' . $this->book_id . '.json', json_encode($cartReferences));
+        $jsonCartReferences = json_encode($cartReferences);
+        $jsonRefFile = $this->wdir . 'commerce/references_' . $this->book_id . '.json';
+        if (is_link($jsonRefFile)) {
+            unlink($jsonRefFile);
+        }
+        file_put_contents($jsonRefFile, $jsonCartReferences);
 
         $this->log('Puma cart written');
     }
@@ -723,6 +727,9 @@ trait Cart
     }
 
 
+    /**
+     * @throws \Exception
+     */
     public function writeCartConfig()
     {
         if ($this->fluidbookSettings->cartLinkAppearance == 'overlay') {
index c89b3f62dd2bc5e1c78b67a127f9eb8d1c96da00..ae137de65995a34f5c44137bf9eed63ca3b69063 100644 (file)
@@ -87,6 +87,9 @@ trait PumaOperation
             $subs = array_chunk($lines, $rows, true);
             $csubs = count($subs);
 
+            $emptyImg = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhAJ/wlseKgAAAABJRU5ErkJggg==';
+            $emptyImgAttr = ' class="empty" ';
+
             foreach ($subs as $i => $lines) {
                 $pos = $csubs == 1 ? '' : ' (' . ($i + 1) . '/' . $csubs . ')';
                 $html .= '<section class="' . $data['class'] . '">';
@@ -97,11 +100,16 @@ trait PumaOperation
                     foreach ($line as $reference => $product) {
                         if (isset($product['zoom_image'])) {
                             $f = protected_path('fluidbookpublication/cache/zoomarea/zoomarea/books/' . $id . '/' . $product['zoom_image']);
-                            $img = Files::asDataURI($f);
-                            $img_attr = '';
+                            if (file_exists($f)) {
+                                $img = Files::asDataURI($f);
+                                $img_attr = ' data-file="' . $f . '" ';
+                            } else {
+                                $img = $emptyImg;
+                                $img_attr = $emptyImgAttr;
+                            }
                         } else {
-                            $img = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhAJ/wlseKgAAAABJRU5ErkJggg==';
-                            $img_attr = ' width="40" height="40"';
+                            $img = $emptyImg;
+                            $img_attr = $emptyImgAttr;
                         }
 
                         $html .= '<article>';
index 626d8fc88d663caab64f9ce26a48802169e09858..b3e3d2698bdc5e3a3ecae5c007f274890acbc0b5 100644 (file)
@@ -72,10 +72,18 @@ article img {
   max-height: 40mm;
   margin: 0 auto;
 }
+article img.empty {
+  width: 40mm;
+  height: 40mm;
+  opacity: 0;
+}
 .Footwear article img {
   max-width: 48mm;
   max-height: 30mm;
 }
+.Footwear article img.empty {
+  height: 30mm;
+}
 h1,
 h2 {
   font-family: Puma;
index e73a4e6de11bdf1df84154f8dd4ebb21255dc824..7016fa63d47b64ea43c649ce42c69d9e0ae9c5ba 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["style.less"],"names":[],"mappings":"AAAA;EACI,aAAa,MAAb;EACA,kBAAA;EACA,gBAAA;EACA,y3pFAAA;;AAIJ;EACI,aAAa,MAAb;EACA,kBAAA;EACA,gBAAA;EACA,y9gFAAA;;AAGJ;EACI;IACI,eAAA;;;AAIR;EACI,UAAA;EACA,SAAA;EACA,yCAAA;EACA,iBAAA;EACA,kBAAA;EACA,sBAAA;EACA,iCAAA;;AAGJ;EACI,wBAAA;EACA,YAAA;EACA,gBAAA;EACA,aAAA;EACA,iBAAA;EACA,gBAAA;EACA,iBAAA;EACA,kBAAA;;AAEA,OAAC;EACG,SAAS,EAAT;EACA,cAAA;EACA,kBAAA;EACA,SAAA;EACA,WAAA;EACA,WAAA;EACA,YAAA;EACA,6oIAAA;EACA,wBAAA;EACA,6BAAA;EACA,4BAAA;;AArBR,OAwBI;EACI,uBAAA;;AAIR;EACI,aAAA;EACA,uBAAuB,cAAvB;EACA,oBAAoB,eAApB;EACA,YAAA;EACA,eAAA;;AAEA,SAAU;EACN,uBAAuB,cAAvB;EACA,oBAAoB,eAApB;;AAIR;EACI,aAAA;EACA,sBAAA;;EACA,sBAAA;;AAHJ,OAKI;EACI,eAAA;EACA,gBAAA;EACA,cAAA;;AAEA,SAAU,QALd;EAMQ,eAAA;EACA,gBAAA;;AAKZ;AAAI;EACA,iBAAA;EACA,gBAAA;EACA,yBAAA;;AAIJ;EAEI,gBAAA;EACA,iBAAA;;AAIJ;EACI,gBAAA;EACA,iBAAA;;AAGJ;EACI,gBAAA","file":"style.css"}
\ No newline at end of file
+{"version":3,"sources":["style.less"],"names":[],"mappings":"AAAA;EACI,aAAa,MAAb;EACA,kBAAA;EACA,gBAAA;EACA,y3pFAAA;;AAIJ;EACI,aAAa,MAAb;EACA,kBAAA;EACA,gBAAA;EACA,y9gFAAA;;AAGJ;EACI;IACI,eAAA;;;AAIR;EACI,UAAA;EACA,SAAA;EACA,yCAAA;EACA,iBAAA;EACA,kBAAA;EACA,sBAAA;EACA,iCAAA;;AAGJ;EACI,wBAAA;EACA,YAAA;EACA,gBAAA;EACA,aAAA;EACA,iBAAA;EACA,gBAAA;EACA,iBAAA;EACA,kBAAA;;AAEA,OAAC;EACG,SAAS,EAAT;EACA,cAAA;EACA,kBAAA;EACA,SAAA;EACA,WAAA;EACA,WAAA;EACA,YAAA;EACA,6oIAAA;EACA,wBAAA;EACA,6BAAA;EACA,4BAAA;;AArBR,OAwBI;EACI,uBAAA;;AAIR;EACI,aAAA;EACA,uBAAuB,cAAvB;EACA,oBAAoB,eAApB;EACA,YAAA;EACA,eAAA;;AAEA,SAAU;EACN,uBAAuB,cAAvB;EACA,oBAAoB,eAApB;;AAIR;EACI,aAAA;EACA,sBAAA;;EACA,sBAAA;;AAHJ,OAKI;EACI,eAAA;EACA,gBAAA;EACA,cAAA;;AAEA,OALJ,IAKK;EACG,WAAA;EACA,YAAA;EACA,UAAA;;AAGJ,SAAU,QAXd;EAYQ,eAAA;EACA,gBAAA;;AACA,SAHM,QAXd,IAcS;EACG,YAAA;;AAMhB;AAAI;EACA,iBAAA;EACA,gBAAA;EACA,yBAAA;;AAIJ;EAEI,gBAAA;EACA,iBAAA;;AAIJ;EACI,gBAAA;EACA,iBAAA;;AAGJ;EACI,gBAAA","file":"style.css"}
\ No newline at end of file
index 9b47b3cb326b0babdb2815d895f5cbe7ba4bc1cb..a7cc50c7e6e5d3ce898b2ec1e896c2ce1e00d539 100644 (file)
@@ -81,9 +81,18 @@ article {
         max-height: 40mm;
         margin: 0 auto;
 
+        &.empty{
+            width: 40mm;
+            height: 40mm;
+            opacity: 0;
+        }
+
         .Footwear & {
             max-width: 48mm;
             max-height: 30mm;
+            &.empty{
+                height: 30mm;
+            }
         }
     }
 }