Procházet zdrojové kódy

update collection sliderImg

SyuanYu před 2 roky
rodič
revize
9b59315165

+ 2 - 0
backstage/static/js/editor.js

@@ -9,6 +9,7 @@ aa = "";
 frontMatters = [];
 contentMatters = [];
 editorBlocks = [];
+editorBlocks1 = [];
 var editor;
 var editorslider;
 axios.get(contentApiUrl).then(({ data }) => {
@@ -224,6 +225,7 @@ axios.get(contentApiUrl).then(({ data }) => {
           },
         },
       },
+      data: { blocks: editorBlocks1 },
     });
   }
   /*   for (var blockData of preBlockArray) {

+ 66 - 9
backstage/static/js/yo.js

@@ -2,6 +2,7 @@ contentApiUrl = `${PORTAL_SERVER}contents?url=`;
 frontMatters = [];
 contentMatters = [];
 tagOptionIds = ["chousetype", "csize", "cbudget", "cbednum"];
+testImg = [];
 
 var SwfType = {};
 if (location.pathname.indexOf("system_furniture") >= 0) {
@@ -442,6 +443,63 @@ function parseMd(content) {
       }
 
       if (line.includes("collection_slider: ")) {
+        let slider = $("#ccollslider").val(
+          line.replace("collection_slider: ", "").replaceAll('"', "")
+        );
+
+        // 將字串內的陣列括號移除
+        let left = slider[0].value.lastIndexOf("[");
+        let right = slider[0].value.lastIndexOf("]");
+        let stringList = slider[0].value.substr(left + 1, right - 1);
+
+        console.log("stringList", stringList);
+
+        let stringArr = stringList.split(",");
+        console.log("stringArr", stringArr);
+
+        let imgArr = [];
+        let textArr = [];
+        // 擷取字串後存入陣列
+        stringArr.map((e) => {
+          if (e.includes("slide_img")) {
+            e = e.substr(11);
+            imgArr.push(e);
+            console.log("if slide_img :", e);
+          } else {
+            e = e.substr(11);
+            e = e.substring(0, e.length - 1);
+            console.log("else slide_text :", e);
+            textArr.push(e);
+          }
+        });
+
+        if (document.getElementById("url")) {
+          // 點擊編輯時將 Image 及 Caption 存進 editorslider
+          for (let index = 0; index < imgArr.length; index++) {
+            const element = imgArr[index];
+            captionValue = textArr[index];
+            
+            tmpsrcImg =
+              BHOUSE_SERVER +
+              JSON.parse(document.getElementById("url").textContent).url +
+              "/" +
+              element;
+  
+            console.log("tmpsrcImg", tmpsrcImg);
+  
+            editorBlocks1.push({
+              type: "image",
+              data: {
+                file: {
+                  url: tmpsrcImg,
+                },
+                caption: captionValue,
+              },
+            });
+          }
+          console.log("imgArr", imgArr);
+          console.log("textArr", textArr);
+        }
         //$('#ccollslider').val(line.replace('collection_slider: ', '').replaceAll('\"', ''));
       }
 
@@ -540,14 +598,13 @@ function GetMdHeader(result = []) {
   }
 
   if ($("#ctype").val() == "collection") {
-
-    if($('#cnewcoverimg').val()!="" && $('#cnewcoverimg').val()!=undefined)
-    {
-        rContent += 'cover_img: "' + $('#cnewcoverimg').val()+ '"\n';
-    }
-    else
-    {
-        rContent += 'cover_img: "' + $('#ccoverimg').val() + '"\n';
+    if (
+      $("#cnewcoverimg").val() != "" &&
+      $("#cnewcoverimg").val() != undefined
+    ) {
+      rContent += 'cover_img: "' + $("#cnewcoverimg").val() + '"\n';
+    } else {
+      rContent += 'cover_img: "' + $("#ccoverimg").val() + '"\n';
     }
 
     rContent += 'collection_name: "' + $("#ccollname").val() + '"\n';
@@ -731,7 +788,7 @@ function ParseProductSection(inContent) {
     imgnodes = $("[id='carousel-with-preview']", aa)[0].childNodes;
     for (i = 0; i < imgnodes.length; i++) {
       var tmpsrc, tmpw, tmph, ampimg;
-      if (imgnodes[i].nodeName == "AMP-IMG") {
+      if (imgnodes[i].nodeName == "IMG") {
         //alert(imgnodes[i].nodeName);
         ampimg = imgnodes[i].outerHTML;
         tmpsrc = ampimg.substr(

+ 1 - 1
backstage/templates/editor.html

@@ -71,7 +71,7 @@
       </p>-->
       <p class="card">
         <div class="card-body">
-          Meta標題1111
+          Meta標題
           <div><input class="form-control" id="cmetattl" type="text" /></div>
         </div>
       </p>

+ 28 - 32
backstage/templates/editorcollection.html

@@ -1,35 +1,31 @@
 {% extends "editor.html" %}
 {% block extras %}
-      <div class="d-none">
-        <input id="ccoverimgtxt" type="text" /><br />
-        <input id="curl" type="text" /><br />
-        <input id="chomeowner" type="text" /><br />
-        <input id="csize" type="text" /><br />
-        <input id="cbednum" type="text" /><br />
-        <input id="cspace" type="text" /><br />
-        <input id="cloc" type="text" /><br />
-        <input id="cbudget" type="text" /><br />
-        <input id="cconstruction" type="text" /><br />
-        <input id="ccollname" type="text" /><br />
-        <input id="ccollslider" type="text" /><br />
-        <input id="ccomment" type="text" /><br />
-<<<<<<< Updated upstream
-		<input id="cdesigner" type="text" /><br />
-        <input id="ccolldesc" type="text" /><br />
-        <input id="ccoverimg" type="text" /><br />
-        <input id="cnewcoverimg" type="text" value="" /><br />
-        <input id="cnewfile" type="text" value="" /><br />
-        <input id="cnewcomment" type="text" value="" /><br />
-        <input id="chousetype" type="text" /><br />
-        <input id="ctags" type="text" /><br />						  
-=======
-        <input id="chousetype" type="text" /><br />
->>>>>>> Stashed changes
-      </div>
-      <p class="card">
-        <div class="card-body">
-          作品集圖片集
-          <div id="editorjs1" style='border:inset 1px;'></div>
-        </div>
-      </p>
+<div class="d-none">
+  <input id="ccoverimgtxt" type="text" /><br />
+  <input id="curl" type="text" /><br />
+  <input id="chomeowner" type="text" /><br />
+  <input id="csize" type="text" /><br />
+  <input id="cbednum" type="text" /><br />
+  <input id="cspace" type="text" /><br />
+  <input id="cloc" type="text" /><br />
+  <input id="cbudget" type="text" /><br />
+  <input id="cconstruction" type="text" /><br />
+  <input id="ccollname" type="text" /><br />
+  <input id="ccollslider" type="text" /><br />
+  <input id="ccomment" type="text" /><br />
+  <input id="cdesigner" type="text" /><br />
+  <input id="ccolldesc" type="text" /><br />
+  <input id="ccoverimg" type="text" /><br />
+  <input id="cnewcoverimg" type="text" value="" /><br />
+  <input id="cnewfile" type="text" value="" /><br />
+  <input id="cnewcomment" type="text" value="" /><br />
+  <input id="chousetype" type="text" /><br />
+  <input id="ctags" type="text" /><br />
+</div>
+<p class="card">
+<div class="card-body">
+  作品集圖片集
+  <div id="editorjs1" style='border:inset 1px;'></div>
+</div>
+</p>
 {% endblock extras %}

+ 19 - 4
backstage/templates/frequently_asked_questions.html

@@ -129,11 +129,18 @@
             for (j = 0; j < fnodes[i].childNodes.length; j++) {
               if (fnodes[i].childNodes[j].nodeName == "DIV") {
                 if (k == 0) {
-                  qa.push({ q: fnodes[i].childNodes[j].innerText.trim() });
-                  k++;
+                  console.log('fnodes[i].childNodes[j]',fnodes[i].childNodes[j].childNodes[j].childNodes[j].childNodes[j]);
+                  if (fnodes[i].childNodes[j].childNodes[j].childNodes[j].childNodes[j].nodeName == "SPAN") {
+                    console.log('SPAN');
+                    qa.push({ q: fnodes[i].childNodes[j].childNodes[j].childNodes[j].childNodes[j].innerText.trim() });
+                    k++;
+                  }
+                  // qa.push({ q: fnodes[i].childNodes[j].innerText.trim() });
+                  // k++;
                 }
                 else {
                   qa[qa.length - 1].a = fnodes[i].childNodes[j].innerHTML.trim();
+                  console.log('qa[qa.length - 1].a', qa[qa.length - 1].a);
                 }
                 /* if (fnodes[i].childNodes[j].className == "question") {
                     //alert(fnodes[i].childNodes[j].childNodes[1].nodeValue.trim());
@@ -255,6 +262,10 @@
     qa = [];
     for (i = 0; i < $('#qaData1 .qa_q').length; i++) {
       qa.push({ q: $('#qaData1 .qa_q')[i].childNodes[0].innerHTML, a: $('#qaData1 .qa_a')[i].childNodes[0].innerHTML });
+      console.log("a: $('#qaData1 .qa_a')[i]", $('#qaData1 .qa_a')[i].childNodes[0].innerText);
+      console.log("a: $('#qaData1 .qa_a')[i]", $('#qaData1 .qa_a')[i].childNodes[0].innerHTML);
+      let test = document.querySelectorAll('#qaData1 .qa_a');
+      console.log('test', JSON.stringify(test, null, 2));
     }
     newFaqItemContent = "";
     for (i = 0; i < qa.length; i++) {
@@ -263,7 +274,9 @@
         <div class="accordion-header" id="panelsStayOpen-${i}">
           <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
             data-bs-target="#question-${i}" aria-expanded="false" aria-controls="question-${i}">
-            <p class="pe-2 title m-0">Q${i + 1}</p> ${qa[i].q}
+            <p class="pe-2 title m-0">Q${i + 1}
+              <span>${qa[i].q}</span>  
+            </p>
           </button>
         </div>
         <div id="question-${i}" class="accordion-collapse collapse" aria-labelledby="panelsStayOpen-${i}">
@@ -274,7 +287,9 @@
       </section>`;
     }
     $("[id='myAccordion']", faqContent).html(newFaqItemContent);
-    let mdContent = frontMatters.join('\n') + '\n' + faqContent[1].outerHTML;
+    mdContent = frontMatters.join('\n') + '\n' + faqContent[0].outerHTML;
+    console.log('faqContent[0].outerHTML', faqContent[0].outerHTML);
+    console.log('mdContent',mdContent);
     postData = {
       content: mdContent,
       url: $('#curl').val()