PageSourceSearch

https://www.dosuper.com.tw/products/999910002

html dosuper.com.tw collected 2026-10-07 20:50:54 UTC 352,224 bytes, 6,362 lines download raw bytes

1<!DOCTYPE html>
2<html lang="zh-TW" style="height:100%;">
3  <head>
4      
4<script>
5        window.dataLayer = window.dataLayer || [];
6      </script>
6
7    <!-- Google Tag Manager -->
8            
8<script>
vendor: 375 bytes, lines 8-12
8(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
9            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
10            j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
11            'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
12            })(window,document,'script','dataLayer','
12GTM-K742Q47Q
vendor: 3 bytes, line 12
12');
12</script>
12
13          
13<script>var google_tag_manager_id = 'GTM-K742Q47Q';</script>
13
14<!-- End Google Tag Manager -->
15      <!-- CYBERBIZ Google Tag Manager -->
16      
16<script>
vendor: 345 bytes, lines 16-20
16(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
17      new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
18      j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
19      'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
20      })(window,document,'script','cyb','
20GTM-TXD9LVJ
vendor: 3 bytes, line 20
20');
20</script>
20
21      <!-- End CYBERBIZ Google Tag Manager -->
22    
23      
23<script>
24        function getUserFromCookie(){
25          if(localStorage.customer && localStorage.customer != '{"notLogin":true}'){
26            return JSON.parse(localStorage.customer).id;
27          }else{
28            return "";
29          }
30        }
31        cyb = [{
32          'shop': "33898-豆穌朋官網",
33          'shop_plan': "enterprise",
34          'userId': getUserFromCookie()
35        }];
36      </script>
36
37    
38      <!-- CYBERBIZ Google Tag Manager -->
39      
39<script>
vendor: 345 bytes, lines 39-43
39(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
40      new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
41      j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
42      'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
43      })(window,document,'script','cyb','
43GTM-P7528MQ
vendor: 3 bytes, line 43
43');
43</script>
43
44      <!-- End CYBERBIZ Google Tag Manager -->
45    
46    <meta charset="utf-8">
47<meta http-equiv="X-UA-Compatible" content="IE=edge">
48<meta name="viewport" content="width=device-width, initial-scale=1">
49<link rel="icon" href="https://cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU2ODkyMjE1X-azoeiKmemgrWljb240OHg0OC5wbmcucG5nIl1d.png?convert=false&sha=fd65c0f52724ba93">
50<link rel="apple-touch-icon" href="https://cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU2ODkyMjE1X-azoeiKmemgrWljb240OHg0OC5wbmcucG5nIl1d.png?convert=false&sha=fd65c0f52724ba93">
51
52<meta property="og:site_name" content="豆穌朋官網" />
53
54<!-- og tag -->
55
56
57<!-- og image -->
58
59  <meta property="og:image" content="https://cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfYjM5ZjBlMzk0ZDc4MWU2YTIzZGYuanBlZyJdLFsicCIsInRodW1iIiwiNDgweDQ4MCJdXQ.jpeg?sha=e8f1614a9ea7d771" />
60
61
62<title>
63  
64    鋁箔手提保冷禮袋 豆穌朋官網
65  
66</title>
67
68
69
70<script src='//cdn-general.cybassets.com/frontend/shop/useSettingsData-e958d46bfee2e69f.js' type='text/javascript'></script>
70
71
72
73
74  
74<script>
75    window.setSettingsData({"draggable_sections":{"404":[],"index":["_index_product_banner","_main_slider_custom","1758263345770_6","_index_8_blocks","1757050806473_7","1780553347980_6","_index_4_blogs"],"product":["product_info","product_description","board_comments","related_products"],"collection":[],"category":[],"blog":[],"article":[],"cart":[],"contact":[],"express_delivery":[],"search":[],"combo_product":["combo_product_info","combo_product_desc","board_comments"],"carts":["_index_product_banner","_main_slider_custom","1758263345770_6","_index_8_blocks","1757050806473_7","1780553347980_6","_index_4_blogs"]},"sections":{"navbar":{"type":"navbar","visible":true,"settings":{"navbar_image_logo_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5NDUxMTUxX-WSluWVoeiJsumAj-aYjuW6lS5wbmcucG5nIl1d.png?sha=16fdb915aeb70f7b","navbar_image_logo_tablet_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5NDUxMTUxX-WSluWVoeiJsumAj-aYjuW6lS5wbmcucG5nIl1d.png?sha=16fdb915aeb70f7b","navbar_image_logo_mobile_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5NDUxMTUxX-WSluWVoeiJsumAj-aYjuW6lS5wbmcucG5nIl1d.png?sha=16fdb915aeb70f7b","main_nav":"main-menu","slider_primary_linklist":"main-menu","slider_primary_linklist_set_open":true,"nav_show_three_dimension":true,"search_enabled":true,"display_only_index":false,"dict_header_banner_image_url":"","dict_header_banner_image_tablet_url":"","dict_header_banner_image_mobile_url":"","dict_header_banner_link":"https://www.dosuper.com.tw/blogs/news/20251201discount","display_count_down":false,"logo_height":"97","link_menu_enabled":false,"link_menu":"undefined","navbar_display_style":"rowCenterNav","menu_display_style":"three_dimension_menu","display_banner_type":"textBanner","header_banner_simple_text_size":"18","header_banner_simple_text_color":"#ffffff","header_banner_simple_bg":"#fa740c","header_banner_start":"","header_banner_end":"","timer_text_color":"#c39d6f","timer_bg_color":"#2b2b6e","header_logo_image_alt":"豆穌朋堅持天然拒絕添加,回歸食材的純粹與新鮮美味","navbar_background_transparent":false,"header_banner_simple_text":"全館多項優惠~部分商品以原價計滿5700 享79折+等級會員加碼折扣更優惠!","link_open_in_new_tab":true,"mobile_logo_position":"center","navbar_pc_title_font_size_scale":"110","navbar_pc_body_font_size_scale":"100","navbar_mobile_title_font_size_scale":"110","navbar_mobile_body_font_size_scale":"100","breadcrumb_referrer_enabled":false},"custom_name":"導覽列"},"footer":{"type":"footer","visible":true,"settings":{"footer_link":"footer","display_facebook":true,"shop_facebook":"https://www.facebook.com/dosuperfans","display_instagram":false,"shop_instagram":"https://www.instagram.com/?hl=zh-tw","display_line":false,"shop_line":"https://line.me/zh-hant/","display_youtube":false,"shop_youtube":"https://www.youtube.com/","footer_link_arrangement":"display_x","display_facebook_fan_block":true},"block_order":["default_link_list","default_contact_info"],"blocks":{"default_link_list":{"type":"link_list_setting","thumbnail":"list","draggable":true,"visible":true,"settings":{"dict_link_list_block_title":"豆穌朋食品股份有限公司","footer_link":"footer"},"custom_name":"選單"},"default_contact_info":{"type":"contact_info_setting","thumbnail":"contactInfo","draggable":true,"visible":true,"settings":{"dict_contact_info_block_title":"聯絡我們","display_phone":true,"dict_phone_number":"02-29109475","display_fax_number":true,"dict_shop_fax_number":"02-29149741","display_shop_email":true,"dict_shop_email":"[email protected]","display_shop_address":true,"dict_shop_address":"新北市新店區寶興路45å··6弄10號1.2樓","display_office_time":true,"dict_shop_office_time":"周一~五 09:00-18:00(國定例假日休)","display_tax_id":true,"dict_tax_id":"13101895"},"custom_name":"聯絡資訊"}},"custom_name":"頁腳"},"_main_slider_custom":{"type":"_main_slider_custom","visible":true,"blocks":{"display_main_slider_item_1":{"type":"image","visible":true,"settings":{"dict_link":"/collections/all
751","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcxOTEzMTE4X0xJTkVQQVnlhY3pgYtCTjExNTAyLUPmqasuanBnLmpwZWciXV0.jpeg?sha=d4026ec216bc4417","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcxOTEzMTE4X0xJTkVQQVnlhY3pgYtCTjExNTAyLeW5s-advy5qcGcuanBlZyJdXQ.jpeg?sha=d9fca2ad49f529f4","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcxOTEzMTE4X0xJTkVQQVnlhY3pgYtCTjExNTAyLeaJi-apny5qcGcuanBlZyJdXQ.jpeg?sha=d8fbb2b11380f1a7","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","main_slider_image_alt":"滿仟免運","dict_slide_title_text":"","dict_slide_content_text":"","dict_slide_btn_text":""},"custom_name":"素材"},"display_main_slider_item_2":{"type":"image","visible":false,"settings":{"dict_link":"https://www.dosuper.com.tw/collections/sale","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzY4NTM1ODY2X-aYpeevgOWbpOiyqOWNgC1DWeapqy5qcGcuanBlZyJdXQ.jpeg?sha=9cbd1292934f90bb","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzY4NTM1ODY2X-aYpeevgOWbpOiyqOWNgC1DWeW5s-advy5qcGcuanBlZyJdXQ.jpeg?sha=76e46b453ed136ea","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzY4NTM1ODY2X-aYpeevgOWbpOiyqOWNgC1DWeaJi-apny5qcGcuanBlZyJdXQ.jpeg?sha=9d293b9b495c0a83","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","link_open_in_new_tab":true},"custom_name":"素材"},"display_main_slider_item_3":{"type":"image","visible":true,"settings":{"dict_link":"","dict_image_url":"/theme_src/i18n_shoestore/default_img/new_main_slider_item_3_lg.jpg","dict_tablet_image_url":"","dict_mobile_image_url":"","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"},"custom_name":"素材"},"display_main_slider_item_4":{"type":"image","visible":false,"settings":{"dict_link":"/products/102060501","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5MDE5MTM1XzIwMjYwOTEw6LGG56mM5pyL5qa05qek5rOh6IqZMTkyMCAoMSkuanBnLmpwZWciXV0.jpeg?sha=d6c2f29f208a9cf4","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5MDE5MTQ0XzIwMjYwOTEw6LGG56mM5pyL5qa05qek5rOh6IqZNDgwICgxKS5qcGcuanBlZyJdXQ.jpeg?sha=a619da91e97185dd","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5MDE5MTQ0XzIwMjYwOTEw6LGG56mM5pyL5qa05qek5rOh6IqZNDgwICgxKS5qcGcuanBlZyJdXQ.jpeg?sha=a619da91e97185dd","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","link_open_in_new_tab":true},"custom_name":"素材"},"display_main_slider_item_5":{"type":"image","visible":true,"settings":{"dict_link":"https://www.dosuper.com.tw/collections/all1","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYzMDg2Mzk2X0NZ5qmr5ru_5Y2D6YCB5qq45aGUMTExNC0wNC5qcGcuanBlZyJdXQ.jpeg?sha=7b1ea534c96d8a4c","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYzMDg2Mzk3X0NZ55u05ru_5Y2D6YCB5qq45aGUMTExNC0wNS5qcGcuanBlZyJdXQ.jpeg?sha=007008afefd1b577","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYzMDg2Mzk3X0NZ55u05ru_5Y2D6YCB5qq45aGUMTExNC0wNS5qcGcuanBlZyJdXQ.jpeg?sha=007008afefd1b577","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"},"custom_name":"素材"},"1764577638770_0":{"type":"image","custom_name":"素材","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzY0NTc3NzYzX0NZ5qGM5aSa6YeN5YSq5oOgMTE0LTAxLmpwZy5qcGVnIl1d.jpeg?sha=bb0339b2d2da4093","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzY0NTc3NzM4X0NZ5bmz5aSa6YeN5YSq5oOgMTE0LTAyLmpwZy5qcGVnIl1d.jpeg?sha=5ab4ebaebc87ebf2","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzY0NTc3NzQ0X0NZ5omL5aSa6YeN5YSq5oOgMTE0LTA0LmpwZy5qcGVnIl1d.jpeg?sha=9d1da3009b88da51","dict_link":"/blogs/news","link_open_in_new_tab":true,"main_slider_image_alt":"各項優惠","slide_contents_display":"center","dict_slide_title_text":"","dict_slide_content_text":"","dict_slide_btn_link":"","slide_btn_link_open_in_new_tab":true,"slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"}},"1764582390713_0":{"type":"image","custom_name":"素材","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg3ODIyMDIxXzIwMjYwODI36LGG56mM5pyL5rOh6IqZWOawtOacqOabuOiLkTAxICgxKS5qcGcuanBlZyJdXQ.jpeg?sha=160839b5e538f53a","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg3ODIyMDMxXzIwMjYwODI36LGG56mM5pyL5rOh6IqZWOawtOacqOabuOiLkTAyICgxKS5qcGcuanBlZyJdXQ.jpeg?sha=852ac484d36cd8a1","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg3ODIyMDMxXzIwMjYwODI36LGG56mM5pyL5rOh6IqZWOawtOacqOabuOiLkTAyICgxKS5qcGcuanBlZyJdXQ.jpeg?sha=852ac484d36cd8a1","dict_link":"https://www.dosuper.com.tw/blogs/news/nthubook","slide_contents_display":"center","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","link_open_in_new_tab":true}},"1767945318956_0":{"type":"image","custom_name":"素材","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzY3OTQ1MzUwX0NZ5qmrMTLku7Y4OS0wMS5qcGcuanBlZyJdXQ.jpeg?sha=410351d88494002f","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzY3OTQ1MzcwX0NZ5bmz5p2_MTLku7Y4OS0wMi5qcGcuanBlZyJdXQ.jpeg?sha=1322834397b949b3","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzY3OTQ1MzcxX0NZ5omL5qmfMTLku7Y4OS0wNC5qcGcuanBlZyJdXQ.jpeg?sha=ce4f8b169be45420","dict_link":"/collections/任12件89折","link_open_in_new_tab":true,"slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"}},"1769759166362_0":{"type":"image","custom_name":"素材","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMDAxNTE5X-aDheS6uuevgC3pppYuanBnLmpwZWciXV0.jpeg?sha=3b6de37343760af3","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMDAxNTE5X-aDheS6uuevgC3lubMg572u6aCCLmpwZy5qcGVnIl1d.jpeg?sha=7dc8b98e682e91ca","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMDAxNTE5X-aDheS6uuevgC3miYsuanBnLmpwZWciXV0.jpeg?sha=24b2009a07215c66","dict_link":"/collections/任12件89折","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"}},"1770347550726_0":{"type":"image","custom_name":"素材","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcxODE3MjM3X-iznuazoTbpgIEyLWN55qmrLmpwZy5qcGVnIl1d.jpeg?sha=d4f361319fd8ac09","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcxODE3MjM3X-iznuazoTbpgIEyLWN55bmzLmpwZy5qcGVnIl1d.jpeg?sha=2786ff3375067a64","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcxODE3MjM3X-iznuazoTbpgIEyLWN55omLLmpwZy5qcGVnIl1d.jpeg?sha=d8804f26715c98f3","dict_link":"/collections/賞味泡芙","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"}},"1775013838347_0":{"type":"image","custom_name":"素材","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg0MjU2NDc2XzIwMjYwN-ixhuepjOaci-emruiiizE5MjAuanBnLmpwZWciXV0.jpeg?sha=836a1bc29dd85be9","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg0MjU2NDg5XzIwMjYwN-ixhuepjOaci-emruiiizk2MC5qcGcuanBlZyJdXQ.jpeg?sha=0840dc4b03b47ef2","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg0MjU2NDg5XzIwMjYwN-ixhuepjOaci-emruiiizk2MC5qcGcuanBlZyJdXQ.jpeg?sha=0840dc4b03b47ef2","dict_link":"/products/999910002","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","main_slider_image_alt":"豆穌朋保冷禮袋","link_open_in_new_tab":true}},"1779853622163_0":{"type":"image","custom_name":"素材","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg2NjAxNzUyXzIwMjYwODEz6LGG56mM5pyL5Lit56eL56au55uSLmpwZy5qcGVnIl1d.jpeg?sha=903d031e2a9f884b","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg2NjAxNzYyXzIwMjYwODEz6LGG56mM5pyL5Lit56eL56au55uSMDEuanBnLmpwZWciXV0.jpeg?sha=4bb37b0e796f4e47","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg2NjAxNzYyXzIwMjYwODEz6LGG56mM5pyL5Lit56eL56au55uSMDEuanBnLmpwZWciXV0.jpeg?sha=4bb37b0e796f4e47","dict_link":"/collections/精緻禮盒","main_slider_image_alt":"中秋禮盒","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"}}},"block_order":["1779853622163_0","display_main_slider_item_4","1775013838347_0","1764582390713_0"],"settings":{"swiper_delay":"3","margin_x":"20","margin_bottom":"35","image_number":"1","image_space":"15","mobile_margin_x":"5","mobile_margin_bottom":"35","mobile_image_number":"1","mobile_image_space":"8","transition_speed":"0.3"},"custom_name":"輪播素材"},"_index_product_banner":{"type":"_index_product_banner","visible":true,"settings":{"dict_link":"/products/102060501","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5MDE5MTM1XzIwMjYwOTEw6LGG56mM5pyL5qa05qek5rOh6IqZMTkyMCAoMSkuanBnLmpwZWciXV0.jpeg?sha=d6c2f29f208a9cf4","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5MDE5MTQ0XzIwMjYwOTEw6LGG56mM5pyL5qa05qek5rOh6IqZNDgwICgxKS5qcGcuanBlZyJdXQ.jpeg?sha=a619da91e97185dd","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5MDE5MTQ0XzIwMjYwOTEw6LGG56mM5pyL5qa05qek5rOh6IqZNDgwICgxKS5qcGcuanBlZyJdXQ.jpeg?sha=a619da91e97185dd","cta_btn_display_style":"topPosition","cta_btn_bg_color":"#000000","cta_btn_text_color":"#ffffff","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"24","link_open_in_new_tab":true},"custom_name":"橫幅廣告"},"_index_8_blocks":{"type":"_index_8_blocks","visible":true,"settings":{"dict_title":"精選商品6折起","collection_handle":"sale","limit":"12","product_arrangement":"1","product_column_for_pc":"2","product_alignment":"midPosition","product_text_align":"center","margin_x":"260","margin_bottom":"95","mobile_margin_x":"25","mobile_margin_bottom":"6","product_display":"displayAll","product_column_for_mobile":"2","product_card_hover_effect":"button","product_image_border_radius":"15"},"custom_name":"商品分類"},"_index_4_blogs":{"type":"_index_4_blogs","visible":false,"blocks":{"index_4_blogs_1":{"type":"blog","visible":false,"settings":{"blog_handle":"門市資訊"},"custom_name":"部落格"},"index_4_blogs_2":{"type":"blog","visible":false,"settings":{"blog_handle":"news"},"custom_name":"部落格"},"index_4_blogs_3":{"type":"blog","visible":false,"settings":{"blog_handle":"news"},"custom_name":"部落格"},"index_4_blogs_4":{"type":"blog","visible":false,"settings":{"blog_handle":"news"},"custom_name":"部落格"}},"block_order":["index_4_blogs_1","index_4_blogs_2","index_4_blogs_3","index_4_blogs_4"],"settings":{"dict_title":"更多資訊","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"50","article_c
75olumns":"4"},"custom_name":"分頁頁籤"},"_index_4_blocks":{"type":"_index_4_blocks","visible":false,"blocks":{"display_index_4_block_1":{"type":"image","visible":true,"settings":{"title":"","dict_link":"","dict_image_url":"/theme_src/i18n_shoestore/default_img/new_index_4_blocks_1.jpg","dict_tablet_image_url":"","dict_mobile_image_url":""},"custom_name":"圖片"},"1757383090833_3":{"type":"html","custom_name":"自訂HTML","visible":true,"settings":{"dict_body_html":"\u003cp style=\"text-align: center;\"\u003e\u003cimg alt=\"\" src=\"//cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_c464bf9c-e020-4cbe-bc52-7beb1eba1a55.jpg\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cimg alt=\"\" src=\"//cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_3a632e9b-8266-4b65-b6bc-59d5a2bbd8d0.jpg\" /\u003e\u003c/p\u003e\r\n"}}},"block_order":["1757383090833_3"],"custom_name":"自訂排版設計","settings":{"margin_x":"0","margin_bottom":"50","margin_block":"10","mobile_margin_x":"0","mobile_margin_bottom":"50","mobile_columns":1,"mobile_margin_block":"10"}},"express_delivery_index_4_blocks":{"type":"_index_4_blocks","visible":false,"blocks":{"express_delivery_display_index_4_block_1":{"type":"image","visible":true,"settings":{"title":"","dict_link":"","dict_image_url":"/theme_src/i18n_shoestore/default_img/new_index_4_blocks_1.jpg","dict_tablet_image_url":"","dict_mobile_image_url":""}}},"block_order":["express_delivery_display_index_4_block_1"]},"custom_text":{"type":"custom_text","visible":true,"settings":{}},"blog":{"type":"blog","visible":true,"settings":{"article_limit_in_blog_page":"9"},"custom_name":"部落格設定"},"article":{"type":"article","visible":true,"settings":{"display_blog_menu":true,"dict_blog_tags_title":"文章分類","blog_latest_post_limit":"3"},"custom_name":"部落格文章設定"},"category":{"type":"category","visible":true,"settings":{"category_sidebar_set_open":false,"category_product_block_limit":"4","category_product_swiper_item_limit":"6","category_product_item_limit":"18"}},"shop_setting":{"type":"shop_setting","visible":true,"settings":{"favicon_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU2ODkyMjE1X-azoeiKmemgrWljb240OHg0OC5wbmcucG5nIl1d.png?sha=fd65c0f52724ba93","og_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU2ODkyNTkwX-mAo-e1kOmhr-ekujMwMHgzMDAuanBnLmpwZWciXV0.jpeg?sha=588888d3022d71c7","shop_title":"Dosuper","shop_description":"豆穌朋堅持天然拒絕添加,回歸食材的純粹與新鮮美味;接單生產新鮮又便利,是您網購居家點心與辦公室午茶的甜點首選!","shop_keywords":"泡芙 美食 伴手禮 甜食 咖啡  果醬 禮盒  餅乾 貝果 新品上市 中秋禮盒 蛋黃酥 牛軋糖 彌月 端午 "},"custom_name":"全站設定"},"color_settings":{"type":"color_settings","visible":true,"settings":{"button_color":"#fa740c","button_text_color":"#FFFFFF","accent_color":"#4f1bfe","heading_color":"#906122","text_color":"#112612","price_color":"#906122","discount_price_color":"#fc0505","theme_bg_color":"#FFFFFF","product_border_color":"#4a8876","tips_text_color":"#fc070e","nav_logo_bg_color":"#FFFFFF","nav_menu_bg_color":"#fff2e6","nav_menu_text_color":"#124d15","nav_menu_icon_color":"#fa740c","footer_bg_color":"#fcf7ef","footer_text_color":"#124c15","checkout_button_color":"#fa740c","checkout_accent_color":"#fe0a0a"},"custom_name":"顏色設定"},"popup":{"type":"popup","visible":true,"blocks":{"popup_block_1":{"type":"image","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzMzNjgzX-i3s-eqlzExMDUtMDEuanBnLmpwZWciXV0.jpeg?sha=775ea4bcf7230754","icon_size":"large","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzMzNjgzX-i3s-eqlzExMDUtMDEuanBnLmpwZWciXV0.jpeg?sha=775ea4bcf7230754","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzMzNjgzX-i3s-eqlzExMDUtMDEuanBnLmpwZWciXV0.jpeg?sha=775ea4bcf7230754","dict_icon_
75image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzMzNjgzX-i3s-eqlzExMDUtMDEuanBnLmpwZWciXV0.jpeg?sha=775ea4bcf7230754","dict_link":"https://dosuper.cyberbiz.co/blogs/news/login","link_open_in_new_tab":true},"custom_name":"圖片"},"1770347373802_0":{"type":"image","custom_name":"圖片","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMzQ3MjQyX-acgOW-jOS4i-WWri1DWeaJiy5qcGcuanBlZyJdXQ.jpeg?sha=9effe9d92973e92b","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMzQ3MjQyX-acgOW-jOS4i-WWri1DWeaJiy5qcGcuanBlZyJdXQ.jpeg?sha=9effe9d92973e92b","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMzQ3MjQyX-acgOW-jOS4i-WWri1DWeaJiy5qcGcuanBlZyJdXQ.jpeg?sha=9effe9d92973e92b","dict_icon_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMzQ3MjQyX-acgOW-jOS4i-WWri1DWeaJiy5qcGcuanBlZyJdXQ.jpeg?sha=9effe9d92973e92b","icon_size":"small"}}},"block_order":["1770347373802_0"],"settings":{},"custom_name":"彈窗廣告"},"product_info":{"type":"product_info","visible":true,"settings":{"display_product_sku":false,"dict_vip_custom_price_text":"","dict_vip_custom_price_href":""},"custom_name":"基本設定"},"product_description":{"type":"product_description","visible":true,"custom_name":"商品介紹"},"board_comments":{"type":"board_comments","visible":true,"settings":{},"thumbnail":"list","draggable":false},"related_products":{"type":"related_products","visible":true,"settings":{"display_related_cols":false,"use_custom_related_cols":true,"dict_group_related_cols_related_product":"推薦商品","related_products_limit":"4"},"custom_name":"相關商品"},"combo_product_info":{"type":"combo_product_info","visible":true,"settings":{}},"combo_product_desc":{"type":"combo_product_desc","visible":true,"settings":{}},"contact":{"type":"contact","visible":true,"settings":{"show_google_map":true,"show_google_map_iframe":"\u003ciframe src=\"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3613.6479170127777!2d121.56760821400371!3d25.07991984260527!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442ac6fbd841bbd%3A0x64e16bcf25e3da31!2zMTE05Y-w5YyX5biC5YWn5rmW5Y2A55Ge5YWJ6LevNTEz5be3MzDomZ8!5e0!3m2!1szh-TW!2stw!4v1485156761267\" width=\"600\" height=\"450\" frameborder=\"0\" style=\"border:0\" allowfullscreen\u003e\u003c/iframe\u003e"}},"collection":{"type":"collection","visible":true,"settings":{"collection_sidebar":"","collection_sidebar_set_open":true,"collection_pagination_limit":"24","product_column_for_pc":"4","is_infinite_scroll":true},"custom_name":"商品分類設定"},"404":{"type":"404","visible":true,"settings":{"image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzY5MDYwNDQxX-a0u-WLleW3sue1kOadny0wMS5qcGcuanBlZyJdXQ.jpeg?sha=cf2a372c88e19a09","dict_404_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzc2MTM0Mjg4XzIwMjYwNDE06LGG56mM5pyLMDEud2VicC53ZWJwIl1d.webp?sha=9431973faad15ea6","dict_title_text":"頁面已移除","dict_btn_text":"返回首頁"},"custom_name":"404頁"},"blogs_all":{"type":"blogs_all","visible":true,"settings":{}},"bundle_discounts":{"type":"bundle_discounts","visible":true,"settings":{}},"cart":{"type":"cart","visible":true,"settings":{}},"cart_empty":{"type":"cart_empty","visible":true,"settings":{}},"page":{"type":"page","visible":true,"settings":{}},"search":{"type":"search","visible":true,"settings":{"search_link_list":"main-menu"}},"customers/account":{"type":"customers/account","visible":true,"settings":{}},"customers/account_edit":{"type":"customers/account_edit","visible":true,"settings":{}},"customers/activate_account":{"type":"customers/activate_account","visible":true,"settings":{}},"customers/addresses":{"type":"customers/addresses","visible":true,"settings":{}},"customers/bonus_points":{"type":"customers/bonus_points","visible":true,"settings":{}},"customers/cancel":{"type":"customers/cancel","visible":true,"settings":{}},"customers/coupons":{"type":"customers/coupons","visible":true,"settings":{}},"customers/forgot_password":{"type":"customers/forgot_password","visible":true,"settings":{}},"customers/login":{"type":"customers/login","visible":true,"settings":{}},"customers/message":{"type":"customers/message","visible":true,"settings":{}},"customers/messages":{"type":"customers/messages","visible":true,"settings":{}},"customers/modify_password":{"type":"customers/modify_password","visible":true,"settings":{}},"customers/order":{"type":"customers/order","visible":true,"settings":{}},"customers/orders":{"type":"customers/orders","visible":true,"settings":{}},"customers/periodic_order":{"type":"customers/periodic_order","visible":true,"settings":{}},"customers/periodic_orders":{"type":"customers/periodic_orders","visible":true,"settings":{}},"customers/other_valid_orders":{"type":"customers/other_valid_orders","visible":true,"settings":{}},"customers/register":{"type":"customers/register","visible":true,"settings":{}},"customers/reset_password":{"type":"customers/reset_password","visible":true,"settings":{}},"customers/return":{"type":"customers/return","visible":true,"settings":{}},"customers/tracking_items":{"type":"customers/tracking_items","visible":true,"settings":{}},"express_delivery-navbar":{"type":"express_delivery-navbar","visible":true,"settings":{}},"express_delivery-content":{"type":"express_delivery-content","visible":true,"settings":{}},"1757050806473_7":{"type":"_custom_html","custom_name":"自訂HTML","visible":true,"settings":{"margin_x":"0","margin_bottom":"0","mobile_margin_x":"0","mobile_margin_bottom":"0","dict_body_html":"\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"color:#996600;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"font-size:18px;\"\u003e\u003cstrong\u003e~豆穌朋販售據點~\u003c/strong\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u0026nbsp;\u003cimg alt=\"\" height=\"50\" src=\"https://cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_711bc86b-dd2d-4a1d-af39-ba7cefc3cd33.png\" width=\"50\" /\u003e\u0026nbsp;\u003cstrong\u003e雙連門市\u0026nbsp;\u0026nbsp;\u003c/strong\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u0026nbsp;\u003ciframe allowfullscreen=\"\" frameborder=\"0\" src=\"https://www.google.com/maps/embed/v1/place?key=AIzaSyBra2BxWy5ZSVhznachsP39g99FBR_9F4w\u0026amp;zoom=19\u0026amp;q=https://www.google.com/maps/place/%E8%B1%86%E7%A9%8C%E6%9C%8B-%E9%9B%99%E9%80%A3%E5%BA%97/@25.0572362,121.5200945,17z/data=!4m6!3m5!1s0x3442a969f04568f3:\u0026amp;language=zh-TW\" title=\"map-viewer\"\u003e\u003c/iframe\u003e\u0026nbsp;\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e台北市大同區南京西路25巷42號\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e(捷運雙連站1號出口左轉巷內50公尺)\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e02-25583918\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e周一~周日 11:00~21:00\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u0026nbsp;\u003cimg alt=\"\" height=\"50\" src=\"https://cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_711bc86b-dd2d-4a1d-af39-ba7cefc3cd33.png\" width=\"50\" /\u003e\u0026nbsp;\u003cstrong\u003e西門門市\u003c/strong\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u0026nbsp;\u003ciframe allowfullscreen=\"\" frameborder=\"0\" src=\"https://www.google.com/maps/embed/v1/place?key=AIzaSyBra2BxWy5ZSVhznachsP39g99FBR_9F4w\u0026amp;zoom=17\u0026amp;q=https://www.google.com/maps/place/%E8%B1%86%E7%A9%8C%E6%9C%8B%E8%A5%BF%E9%96%80%E5%BA%97/@25.0411726,121.505991,17z/data=!3m2!4b1!5s0x346851aed678acf5\u0026amp;language=zh-TW\" title=\"map-viewer\"\u003e\u003c/iframe\u003e\u0026nbsp;\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e台北市中正區中華路一段59-8號\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e02-23116831 (捷運西門站2號出口)\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e周一~周日 11:00~21:00\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u0026nbsp;\u003cimg alt=\"\" height=\"50\" src=\"https://cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_711bc86b-dd2d-4a1d-af39-ba7cefc3cd33.png\" width=\"50\" /\u003e\u0026nbsp;\u003cstrong\u003e北新門市\u003c/strong\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u0026nbsp;\u003ciframe allowfullscreen=\"\" frameborder=\"0\" src=\"https://www.google.com/maps/embed/v1/place?key=AIzaSyBra2BxWy5ZSVhznachsP39g99FBR_9F4w\u0026amp;zoom=16\u0026amp;q=https://www.google.com/maps/place/%E8%B1%86%E7%A9%8C%E6%9C%8B-%E5%8C%97%E6%96%B0%E9%96%80%E5%B8%82/@24.9779519,121.5405794,17z/data=!3m2!4b1!5s0x346801f0aa1a0efb\u0026amp;language=zh-TW\" title=\"map-viewer\"\u003e\u003c/iframe\u003e\u0026nbsp;\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e新北市新店區北新路二段252號B1\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e02-29103396 (全聯超市對面)\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e周一~周日 11:00~21:00\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u0026nbsp;\u003cimg alt=\"\" height=\"50\" src=\"https://cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_711bc86b-dd2d-4a1d-af39-ba7cefc3cd33.png\" width=\"50\" /\u003e\u0026nbsp;
75\u003cstrong\u003e復興航棧\u003c/strong\u003e(特約店)\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e(販售限定:泡芙、乳酪塔、餅乾)\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003ciframe allowfullscreen=\"\" frameborder=\"0\" src=\"https://www.google.com/maps/embed/v1/place?key=AIzaSyBra2BxWy5ZSVhznachsP39g99FBR_9F4w\u0026amp;zoom=18\u0026amp;q=https://www.google.com/maps/place/%E5%BE%A9%E8%88%88%E8%88%AA%E6%A3%A7%E5%B9%B8%E7%A6%8F%E7%83%98%E7%84%99%E5%B1%8B/@25.0948385,121.249881,3a,37.5y,254.73h,90.04t/data=!3m7!1e1!3m5!1s4yuQi_d5dhWFAvaZPZlCNg!2e0!6shttps\u0026amp;language=zh-TW\" title=\"map-viewer\"\u003e\u003c/iframe\u003e\u0026nbsp;\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e桃園市大園區三民路一段568號\u0026nbsp;\u0026nbsp;\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e周一~周日 11:00~20:00\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003ca href=\"https://www.dosuper.com.tw/collections/%E4%BB%BB12%E4%BB%B689%E6%8A%98?page=1\" target=\"_blank\"\u003e\u003cspan style=\"font-size:16px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color:#ffffff;\"\u003e\u003cspan style=\"background-color:#e74c3c;\"\u003e\u0026nbsp;\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"color:#ffffff;\"\u003e\u003cspan style=\"background-color:#e74c3c;\"\u003e開始購物\u0026nbsp;\u003c/span\u003e\u003c/span\u003e\u003c/strong\u003e\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u0026nbsp;\u003c/p\u003e\r\n"},"blocks":{},"block_order":[]},"1758251795056_7":{"type":"_custom_html","custom_name":"自訂HTML","visible":false,"settings":{"margin_x":"0","margin_bottom":"0","mobile_margin_x":"0","mobile_margin_bottom":"0","dict_body_html":"\u003cp\u003e\u003cimg alt=\"\" height=\"400\" src=\"//cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_1651b58d-244d-4ee4-bc2f-2198c4defee8.png\" style=\"float:left\" width=\"400\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u0026nbsp;\u0026nbsp;\u003c/span\u003e\u003cstrong\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"font-size:12pt\"\u003e\u003cspan style=\"background:white\"\u003e\u003cspan style=\"font-size:18.0pt\"\u003e\u003cspan style=\"color:black\"\u003e天然食材 ‧ 真實感動\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp align=\"center\" style=\"text-align:center\"\u003e\u003cspan style=\"font-size:16px;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"background:white\"\u003e\u003cspan style=\"color:black\"\u003e\u003cspan style=\"font-weight:normal\"\u003e無負擔的甜點品牌\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp data-mce-style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\" style=\"text-align:start\"\u003e\u003cspan style=\"font-size:14px;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"background:white\"\u003e\u003cspan style=\"box-sizing:border-box\"\u003e\u003cspan style=\"font-variant-ligatures:normal\"\u003e\u003cspan style=\"text-decoration-thickness:initial\"\u003e\u003cspan style=\"text-decoration-style:initial\"\u003e\u003cspan style=\"text-decoration-color:initial\"\u003e\u003cspan style=\"color:black\"\u003e豆穌朋堅持天然拒絕添加,回歸食材的純粹與新鮮美味,熱銷幾億顆傳奇,各大媒體甜點第一;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp data-mce-style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\" style=\"text-align:start\"\u003e\u003cspan style=\"font-size:14px;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"background:white\"\u003e\u003cspan style=\"box-sizing:border-box\"\u003e\u003cspan style=\"font-variant-ligatures:normal\"\u003e\u003cspan style=\"text-decoration-thickness:initial\"\u003e\u003cspan style=\"text-decoration-style:initial\"\u003e\u003cspan style=\"text-decoration-color:initial\"\u003e\u003cspan data-mce-style=\"font-family: Arial, sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\" style=\"box-sizing:border-box\"\u003e\u003cspan style=\"white-space:pre-wrap\"\u003e數十種甜點與咖啡的精彩玩味,各國甜點控指定購買、詢問海外設點;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp data-mce-style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\" style=\"text-align:start\"\u003e\u003cspan style=\"font-size:14px;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"background:white\"\u003e\u003cspan style=\"box-sizing:border-box\"\u003e\u003cspan style=\"font-variant-ligatures:normal\"\u003e\u003cspan style=\"text-decoration-thickness:initial\"\u003e\u003cspan style=\"text-decoration-style:initial\"\u003e\u003cspan style=\"text-decoration-color:initial\"\u003e\u003cspan data-mce-style=\"font-family: Arial, sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\" style=\"box-sizing:border-box\"\u003e\u003cspan style=\"white-space:pre-wrap\"\u003e下單生產新鮮又便利,是您網購居家點心與辦公室午茶的甜點首選!\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp data-mce-style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\" style=\"text-align:start\"\u003e\u003cspan style=\"font-size:14px;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"background:white\"\u003e\u003cspan style=\"box-sizing:border-box\"\u003e\u003cspan style=\"font-variant-ligatures:normal\"\u003e\u003cspan style=\"text-decoration-thickness:initial\"\u003e\u003cspan style=\"text-decoration-style:initial\"\u003e\u003cspan style=\"text-decoration-color:initial\"\u003e\u003cspan data-mce-style=\"font-size: 12pt; font-family: Arial, sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\" style=\"box-sizing:border-box\"\u003e\u003cspan style=\"white-space:pre-wrap\"\u003e\u003cspan style=\"color:black\"\u003e在此,我們衷心感謝您一直以來對我們的支持和信任。\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp data-mce-style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\" style=\"text-align:start\"\u003e\u003cspan style=\"font-size:14px;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"background:white\"\u003e\u003cspan style=\"box-sizing:border-box\"\u003e\u003cspan style=\"font-variant-ligatures:normal\"\u003e\u003cspan style=\"text-decoration-thickness:initial\"\u003e\u003cspan style=\"text-decoration-style:initial\"\u003e\u003cspan style=\"text-decoration-color:initial\"\u003e\u003cspan data-mce-style=\"font-size: 12pt; font-family: Arial, sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\" style=\"box-sizing:border-box\"\u003e\u003cspan style=\"white-space:pre-wrap\"\u003e\u003cspan style=\"color:black\"\u003e過去,我們致力於讓好的食物、無添加的美味,抵達每個信任我們的辦公室、工廠、學校、機關單位,我們也為您提供優質的團購服務和企業客戶方案。\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp data-mce-style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\" style=\"text-align:start\"\u003e\u003cspan style=\"font-size:14px;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"background:white\"\u003e\u003cspan style=\"box-sizing:border-box\"\u003e\u003cspan style=\"font-variant-ligatures:normal\"\u003e\u003cspan style=\"text-decoration-thickness:initial\"\u003e\u003cspan style=\"text-decoration-style:initial\"\u003e\u003cspan style=\"text-decoration-color:initial\"\u003e\u003cspan data-mce-style=\"font-size: 12pt; font-family: Arial, sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\" style=\"box-sizing:border-box\"\u003e\u003cspan style=\"white-space:pre-wrap\"\u003e\u003cspan style=\"color:black\"\u003e讓對食材的尊重、對健康的期待,可以一直延續在每一天的工作、每一個家人的懷抱之中。\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp data-mce-style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\" style=\"text-align:start\"\u003e\u003cspan style=\"font-size:14px;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"background:white\"\u003e\u003cspan style=\"box-sizing:border-box\"\u003e\u003cspan style=\"font-variant-ligatures:normal\"\u003e\u003cspan style=\"text-decoration-thickness:initial\"\u003e\u003cspan style=\"text-decoration-style:initial\"\u003e\u003cspan style=\"text-decoration-color:initial\"\u003e\u003cspan data-mce-style=\"font-size: 12pt; font-family: Arial, sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\" style=\"box-sizing:border-box\"\u003e\u003cspan style=\"white-space:pre-wrap\"\u003e\u003cspan style=\"color:black\"\u003e我們欣喜地告訴您,為了更好地滿足廣大客戶的需求,讓健康、無添加的美味可以給更多人帶來生活的支持,我們推出了全新的官網
75,並提供個性化的服務。\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cspan style=\"font-size:14px;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"color:black\"\u003e\u003cspan data-mce-style=\"font-size: 12pt; font-family: Arial, sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\" style=\"box-sizing:border-box\"\u003e\u003cspan style=\"white-space:pre-wrap\"\u003e這一轉變旨在為您和其他客戶帶來更多的便捷和選擇。\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cspan style=\"font-size:14px;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"color:black\"\u003e\u003cspan data-mce-style=\"font-size: 12pt; font-family: Arial, sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\" style=\"box-sizing:border-box\"\u003e\u003cspan style=\"white-space:pre-wrap\"\u003e也讓無添加的文化,可以進到更多人的生活中,讓健康跟對食材的尊重可以擴散出去,讓人跟自然可以更加協調,並且在享受產品的同時可以被支持、與支持社會的良善。\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n"},"blocks":{},"block_order":[]},"1758263345770_6":{"type":"_graphic_introduction","custom_name":"圖文介紹","visible":true,"settings":{"text_display":"leftPosition","graphic_text":"#373420","graphic_bg":"#F4EEE2","margin_x":"20","margin_bottom":"30","mobile_margin_x":"8","mobile_margin_bottom":"20","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg2NjA0MDU5XzE3NzI3NzgyMjU3MDEuanBnLmpwZWciXV0.jpeg?sha=17eb82594d7ce83b","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg2NjA0MDU5XzE3NzI3NzgyMjU3MDEuanBnLmpwZWciXV0.jpeg?sha=17eb82594d7ce83b","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg2NjA0MDU5XzE3NzI3NzgyMjU3MDEuanBnLmpwZWciXV0.jpeg?sha=17eb82594d7ce83b","btn_display":"rightSide","block_propotion":"40"},"blocks":{"1758263345771_0":{"type":"title","custom_name":"標題","visible":true,"settings":{"dict_rich_text_title":"天然食材   真實感動","dict_size":"18"}},"1758263345771_1":{"type":"text","custom_name":"內文","visible":true,"settings":{"dict_rich_text_content":"\u003ch3\u003e\u003cstrong\u003e豆穌朋:天然無添加的甜點傳奇\u003c/strong\u003e\u003c/h3\u003e\n\u003cp\u003e豆穌朋堅持「天然、無化學添加」的品牌初衷,選用純粹食材成就熱銷破億顆泡芙的甜點首選 。我們不僅深受各國甜點控喜愛,更是企業團購與辦公室午茶的指定品牌 。\u003c/p\u003e\n\u003cp\u003e為推廣健康飲食文化,\u003cstrong\u003e全新官網正式上線\u003c/strong\u003e !透過更便捷的訂購流程與多元優惠,我們將持續把新鮮、無負擔的美味送達每個å
75®¶åº­èˆ‡è·å ´ï¼Œè®“對食材的尊重延續在您的日常生活中 。\u003c/p\u003e\n","dict_size":"16"}},"1758263345772_2":{"type":"button","custom_name":"按鈕","visible":true,"settings":{"dict_btn_text":"開始購物","graphic-button_bg":"#fa8f0c","graphic-button_text":"#FFFFFF","dict_graphic_button_link":"https://dosuper.cyberbiz.co/collections/all1","link_open_in_new_tab":true}}},"block_order":["1758263345771_1","1758263345772_2"]},"1780553347980_6":{"type":"_graphic_introduction","custom_name":"圖文介紹","visible":false,"settings":{"text_display":"midPosition","graphic_text":"#373420","graphic_bg":"#F4EEE2","margin_x":"0","margin_bottom":"0","mobile_margin_x":"0","mobile_margin_bottom":"0","dict_image_url":"","dict_tablet_image_url":"","dict_mobile_image_url":"","btn_display":"leftSide","block_propotion":"50"},"blocks":{"1780553347982_0":{"type":"title","custom_name":"標題","visible":true,"settings":{"dict_rich_text_title":"販售據點","dict_size":"20"}},"1780553347982_1":{"type":"text","custom_name":"內文","visible":true,"settings":{"dict_rich_text_content":"\u003cp\u003e📷 \u003cstrong\u003e雙連門市\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e台北市大同區南京西路25å··42號\u003c/p\u003e\n\u003cp\u003e(捷運雙連站1號出口左轉巷內50公尺)\u003c/p\u003e\n\u003cp\u003e02-25583918\u003c/p\u003e\n\u003cp\u003e周一~周日 11:00~21:00\u003c/p\u003e\n\u003cp\u003e📷 \u003cstrong\u003e西門門市\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e台北市中正區中華路一段59-8號\u003c/p\u003e\n\u003cp\u003e02-23116831 (捷運西門站2號出口)\u003c/p\u003e\n\u003cp\u003e周一~周日 11:00~21:00\u003c/p\u003e\n\u003cp\u003e📷 \u003cstrong\u003e北新門市\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e新北市新店區北新路二段252號B1\u003c/p\u003e\n\u003cp\u003e02-29103396 (全聯超市對面)\u003c/p\u003e\n\u003cp\u003e周一~周日 11:00~21:00\u003c/p\u003e\n\u003cp\u003e📷 \u003cstrong\u003e復興航棧\u003c/strong\u003e(特約店)\u003c/p\u003e\n\u003cp\u003e(販售限定:泡芙、乳酪塔、餅乾)\u003c/p\u003e\n\u003cp\u003e桃園市大園區三民路一段568號\u003c/p\u003e\n\u003cp\u003e周一~周日 11:00~20:00\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://dosuper.cyberbiz.co/collections/all1\"\u003e\u003cstrong\u003e 立即線上購買\u003c/strong\u003e\u003c/a\u003e\u003c/p\u003e\n","dict_size":"14"}},"1780553347983_2":{"type":"button","custom_name":"按鈕","visible":false,"settings":{"dict_btn_text":"了解更多","graphic-button_bg":"#6B6432","graphic-button_text":"#FFFFFF"}}},"block_order":["1780553347982_0","1780553347982_1","1780553347983_2"]},"announcement_bar":{"type":"announcement_bar","visible":true,"blocks":{"announcement_bar_block_1":{"type":"text","visible":true,"settings":{"display_only_index":false,"display_period":"always","dict_link":"https://www.dosuper.com.tw/blogs/news/20251201discount","link_open_in_new_tab":true,"dict_image_url":"","dict_image_tablet_url":"","dict_image_mobile_url":"","image_alt":"","dict_content":"全館多項優惠~部分商品以原價計滿5700 享79折+等級會員加碼折扣更優惠!","text_size":"18","text_color":"#ffffff","bg_color":"#fa740c","timer_text_color":"#c39d6f","timer_bg_color":"#2b2b6e","migrated_from_navbar":true},"custom_name":"文字"}},"block_order":["announcement_bar_block_1"],"settings":{"display_mode":"vertical","carousel_interval":"3"},"custom_name":"置頂公告"}},"navbar_image_logo":true,"show_default_all_products":true,"one_dimension_limit":"6","two_dimension_limit":"10","header_banner_display":true,"header_banner_link":"/","display_main_slider":true,"display_phone":true,"phone_number":"0912345678","display_fax_number":true,"shop_fax_number":"0222345678","display_shop_email":true,"shop_email":"[email protected]","display_shop_address":true,"shop_address":"測試地址","display_office_time":true,"shop_office_time":"10:00-17:00","index_event_slider_display":true,"index_event_slider_item_1_display":true,"dict_index_event_slider_item_1_link":"#","index_event_slider_item_2_display":true,"dict_index_event_slider_item_2_title":"2019秋季鞋款新品上市","dict_index_event_slider_item_2_link":"#","index_event_slider_item_3_display":true,"dict_index_event_slider_item_3_title":"全館任選三件結帳再享折扣!!8折!!","dict_index_event_slider_item_3_link":"#","index_event_slider_item_4_display":true,"dict_index_event_slider_item_4_title":"FINAL SALE/夏天熱銷百搭鞋款補貨到店","dict_index_event_slider_item_4_link":"#","index_event_slider_item_5_display":true,"dict_index_event_slider_item_5_title":"熱賣倒數","dict_index_event_slider_item_5_link":"#","index_event_slider_item_6_display":true,"dict_index_event_slider_item_6_title":"現在註冊會員即可享折扣金$50(現折)","dict_index_event_slider_item_6_link":"#","index_event_slider_item_7_display":false,"dict_index_event_slider_item_7_title":"","dict_index_event_slider_item_7_link":"","
75index_event_slider_item_8_display":false,"dict_index_event_slider_item_8_title":"","dict_index_event_slider_item_8_link":"#","index_event_slider_item_9_display":false,"dict_index_event_slider_item_9_title":"","dict_index_event_slider_item_9_link":"#","index_event_slider_item_10_display":false,"dict_index_event_slider_item_10_title":"","dict_index_event_slider_item_10_link":"#","index_4_slider_display":true,"dict_index_4_slider_title":"Instagram","index_4_slider_item_1_display":true,"dict_index_4_slider_item_1_link":"#","index_4_slider_item_2_display":true,"dict_index_4_slider_item_2_link":"#","index_4_slider_item_3_display":true,"dict_index_4_slider_item_3_link":"#","index_4_slider_item_4_display":true,"dict_index_4_slider_item_4_link":"#","index_4_slider_item_5_display":true,"dict_index_4_slider_item_5_link":"#","index_4_slider_item_6_display":false,"dict_index_4_slider_item_6_link":"#","index_4_slider_item_7_display":false,"dict_index_4_slider_item_7_link":"#","index_4_slider_item_8_display":false,"dict_index_4_slider_item_8_link":"#","index_video_blocks_display":true,"dict_index_video_blocks_title":"Youtube","dict_index_video_blocks_video_link":"https://www.youtube.com/watch?v=3bI4IUIVjCk","collection_sidebar":"main-menu","collection_sidebar_set_open":false,"collection_pagination_limit":"24","product_slogan_display":true,"display_product_total_sold":false,"display_periodic_order_label":false,"cart_quantity_limit":"0","is_empty_clickable":true,"is_first_selected":false,"display_product_images_color":false,"discount_product_images_color_expand":false,"display_product_discounts_list":true,"display_discount_price_name":true,"discount_price_slogan_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU5NDU3Mjc1X-WEquaDoOiyvOe0mTEwMC5wbmcucG5nIl1d.png?sha=55a1cf09a86c2f1a","dict_discount_price_name":"","display_discount_price_suggestion_name":false,"dict_discount_price_suggestion_name":"","display_product_section_description":true,"dict_product_section_description":"商品介紹","description_section_spec_setting":true,"dict_product_description_section_spec":"商品規格","description_section_shipping_setting":false,"dict_product_description_section_shipping":"運送方式","vip_custom_price_visible":false,"display_global_event_1":false,"dict_show_global_event_1_link":"#","display_global_event_2":false,"dict_show_global_event_2_link":"#","display_global_event_3":false,"dict_show_global_event_3_link":"#","display_contact_address":true,"dict_contact_address":"測試地址","show_google_map":true,"show_google_map_iframe":"\u003ciframe src=\"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3613.6479170127777!2d121.56760821400371!3d25.07991984260527!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442ac6fbd841bbd%3A0x64e16bcf25e3da31!2zMTE05Y-w5YyX5biC5YWn5rmW5Y2A55Ge5YWJ6LevNTEz5be3MzDomZ8!5e0!3m2!1szh-TW!2stw!4v1485156761267\" width=\"600\" height=\"450\" frameborder=\"0\" style=\"border:0\" allowfullscreen\u003e\u003c/iframe\u003e","display_selected_blog":true,"selected_blog":"news","display_inventory_policy":false,"display_product_vendor":false,"nav_icon_style":"icon_type_custom","google_font":"{\"ja\":{\"value\":\"Noto Sans JP\"},\"zh-TW\":{\"value\":\"Noto Serif TC\"},\"en\":{\"value\":\"Noto Sans TC\"},\"zh-CN\":{\"value\":\"Noto Sans TC\"}}","product_text_align":"start","styled_shop_menu":"buttonType","product_video_display_location":"after","product_scale":"default_scale","product_labels":{"items":[{"id":"sale_label","kind":"system","title":"特價標籤","display":true,"type":"discount","dict_text":{"zh-TW":""},"image":"","image_size":"large"},{"id":"out_of_stock_label","kind":"system","title":"缺貨標籤","display":true,"type":"text","dict_text":{"zh-TW":"熱銷補貨中"},"image":"","image_size":"small"},{"id":"periodic_event_label","kind":"system","title":"定期定額標籤","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"78e6633a-26be-4557-8c49-faeb21cc1b55","kind":"custom","title":"自定義標籤 1","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"a7fe389c-10c3-4250-baf4-9d3724f7d20f","kind":"custom","title":"自定義標籤 2","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"706953cc-ce03-4f54-97aa-f94c5eacb645","kind":"custom","title":"自定義標籤 3","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"9fcd1d60-9a5b-47ba-82bc-82fa0018d34d","kind":"custom","title":"自定義標籤 4","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"e6416ecc-e24f-4ab3-8335-72777eecb9f6","kind":"custom","title":"自定義標籤 5","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"}]},"dict_icon_account_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYxODA5NTgyX-acg-WToWljb25hLnBuZy5wbmciXV0.png?sha=e513bfc18a8d91bd","dict_icon_cart_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NDk4X-izvOi7imljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=662e013f72b7115c","dict_icon_search_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NTA2X-aQnOWwi2ljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=5e15db7342f146c6","dict_icon_home_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NTEzX-mmlumggWljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=ca9695a5f4971a45","dict_icon_tracking_items_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NTI0X-aUtuiXj2ljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=99bdec6ef0f298ba","dict_icon_menu_url":"","display_product_variant_thumbnail":false,"product_card_hover_effect":"button","product_image_border_radius":"9"});
76  </script>
76
77
78
79
80
81
82
83
84
85
86
87    <!-- for vendor -->
88    <!-- cyb_snippet _bootstrap start -->
89
90<!-- cyb_snippet _bootstrap end -->
91    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/vendor-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' />
92
93    <!-- common css rulesets -->
94    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/common-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' />
95
96    <!-- for navbar -->
97    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/navbar-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' />
98
99    <!-- for footer -->
100    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/footer-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' />
101
102    <!-- theme assets -->
103    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/main-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' />
104
105    <!-- for vendor -->
106    
106<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/vendor-e958d46bfee2e69f.js' type='text/javascript'></script>
106
107
108            
108<script>
109          window.sci = "eyJzaG9wX2lkIjozMzg5OCwic2hvcF9wbGFuIjoiZW50ZXJwcmlzZSIsImRp\nbV9hZmZpbGlhdGUiOm51bGwsImN1c3RvbWVyX2lkIjpudWxsLCJjdXN0b21l\ncl9uYW1lIjpudWxsLCJzaG9wX25hbWUiOiLosYbnqYzmnIvlrpjntrIiLCJz\naGFyZV9hdHRyaWJ1dGlvbl9lbmFibGVkIjpmYWxzZX0=\n";
110        </script>
110
111
112
113<meta name="csrf-param" content="authenticity_token" />
114<meta name="csrf-token" content="qhrDkblB93v_2ZCAGdDQqAaO3SkCr6ALuUaMLLAZGphJow9Y8Ee4N-HcmCOSYL3pOf9ncIabjTGwnHlBu5hdFw" />
115<script>(function () {
116  window.gaConfigurations = {"useProductIdInProductEvents":false};
117})();
118</script>
vendor: 1 bytes, line 118
118
119<script>(function () {
120  window.CYBERBIZ_PageContext = {"page_type":"product"};
121})();
122</script>
122
123<link href="//cdn-general.cybassets.com/frontend/shop/quark-e958d46bfee2e69f.css" rel="stylesheet" type="text/css" media="all" />
124        
124<script>
125          window.shopScriptHelper = {
126            i18nLocale: "zh-TW",
127            i18nLocaleDefault: "zh-TW",
128            availableCurrencies: ["AED","AMD","ARS","AUD","AZN","BDT","BGN","BND","BRL","BWP","BYN","CAD","CDF","CHF","CLP","CNY","COP","CZK","DKK","EGP","ETB","EUR","GBP","GEL","GHS","HKD","IDR","ILS","INR","ISK","JPY","KES","KRW","KWD","KZT","LAK","LKR","LSL","MAD","MGA","MMK","MVR","MXN","MYR","MZN","NGN","NOK","NPR","NZD","OMR","PEN","PHP","PKR","QAR","RON","RSD","RUB","SAR","SEK","SGD","THB","TRY","TWD","UAH","UGX","USD","VND","XAF","XOF","ZAR","ZMW"],
129            defaultCurrency: "TWD",
130            currenciesInfo: [{"code":"TWD","trailing_zeros":false,"email_unit":"NT${{amount_no_decimals}}","html_unit":"NT${{amount_no_decimals}}","email":"NT${{amount_no_decimals}}","unit":"","symbol":"NT$","format":"NT${{amount_no_decimals}}","money_format":"%u%n","html":"NT${{amount_no_decimals}}","decimal_precision":0,"name":"新台幣 (TWD)"}],
131            vueOverrideTranslations: {"zh-TW":{"vue":{"bonus_mall":{"add_to_cart":"加入購物車","already_added_to_cart":"已加入購物車","available_bonus_and_used":"紅利點數總計 {customerRemainPoints} 點,使用 {usedBonusPoints} 點","bonus_points":"{points} 點","bonus_points_verbose":"紅利{points}點","bonus_price":"紅利點數","bonus_price_asc":"依紅利點數小到大排序","bonus_price_desc":"依紅利點數大到小排序","bonus_redemption_price":"紅利 {price}","countdown":"開賣倒數","days":"日","default_sort":"預設排序","exceed_buy_limit":"超出購買數量限制","exceed_stock_quantity":"超出庫存數量","hours":"時","insufficient_points":"點數不足","loading_error":"載入商城購物車資料錯誤","minutes":"分","need_to_buy_something":"數量不得少於1","not_on_sale_yet":"尚未開賣","points":"點數","proceed_to_checkout":"前往結帳","product_count":"共 {totalCount} 件商品","quantity":"數量","recent_days_sold_asc":"依近期銷售量小到大","recent_days_sold_desc":"依近期銷售量大到小","seconds":"秒","select_itmes_count":"已選購 {quantity} 件紅利商品","sell_from_asc":"上市日期舊到新","sell_from_desc":"上市日期新到舊","sold_out":"已售完","subtotal":"小計","upcoming_product":"開賣時間","wrong_quantity":"數量輸入錯誤"},"common":{"add_to_cart":"加入購物車","buy_at_least_one":"購買數量不可小於1","buy_now":"立即購買","cancel":"取消","confirm_submit":"送出","contact_merchant":"聯絡店家","corona":{"confirm_no":"取消","confirm_yes":"確認","default_sort":"預設排序","price_asc":"價格由低到高","price_desc":"價格由高到低","price_filter":"價格","recent_days_sold_desc":"本週熱賣","select_page":"選擇頁碼","select_sort_by":"選擇排序方式","sell_from_asc":"上市日期舊到新","sell_from_desc":"上市日期新到舊","suggested_range":"建議區間:"},"default_sort":"預設排序","exceed_stock_quantity":"超過庫存數量","exceed_upper_limit":"超過購買上限","failed_to_update_cart":"更新購物車失敗","onsale":"特價","periodic_order_label":"定期定額","pre_order":"預購商品","price_asc":"價格由低到高","price_desc":"價格由高到低","price_label":"建議售價","product_description":"商品簡述","product_name":"商品名稱","product_sold":"已銷售:{productSold}","recent_days_sold_desc":"本週熱賣","return":"返回","see_more":"查看更多","select_option":"請選擇 {option}","sell_from_asc":"上市日期舊到新","sell_from_desc":"上市日期新到舊","sold_out":"已售完","subtotal":"小計","system_busy_try_again":"系統忙碌,請稍後再試","theme":{"choose_specification":"請選擇規格","wrong_date":"日期錯誤"},"video_not_supported":"你的瀏覽器不支援 HTML 5 video","wrong_quantity":"數量輸入錯誤"},"eticket_orders":{"category_all":"所有票券","category_available":"可使用","category_pending":"未付款","category_used":"使用完畢","eticket_orders_branch_stores_address":"門市地址","eticket_orders_branch_stores_name":"門市名稱","eticket_orders_branch_stores_phone":"門市電話","eticket_orders_branch_stores_show":"顯示可核銷門市","eticket_orders_cancel_order":"取消訂單","eticket_orders_cancel_order_announcement":"本人同意發票作廢或「營業人銷貨退回進貨退出貨或折讓證明單」將全權由順立智慧股份有限公司處理,以利加速退款作業。如有退貨/折讓,將直接開立折讓單上傳至財政部電子發票整合服務平台存證。","eticket_orders_cancel_order_cancel":"取消操作","eticket_orders_cancel_order_title":"你確定要取消這筆訂單?","eticket_orders_canceled":"已取消","eticket_orders_discounted_price":"折扣價","eticket_orders_eticket_notice":"票券注意事項","eticket_orders_go_to_payments":"前往付款","eticket_orders_invoice_infos":"發票資訊","eticket_orders_invoice_number":"發票號碼","eticket_orders_invoice_status":"發票狀態","eticket_orders_order_date":"訂購日期","eticket_orders_order_details":"訂單明細","eticket_orders_order_established":"訂單成立","eticket_orders_order_no_query_records":"訂單目前沒有問答紀錄","eticket_orders_order_notes":"訂單備註","eticket_orders_order_number":"訂單編號","eticket_orders_order_query_records":"詢問紀錄","eticket_orders_payment_infos":"付款資訊","eticket_orders_payment_method":"付款方式","eticket_orders_payment_status":"付款狀態","eticket_orders_qrcode_download":"下載","eticket_orders_qrcode_not_used":"未核銷","eticket_orders_qrcode_quantity":"數量:{ quantity }","eticket_orders_qrcode_share":"分享","eticket_orders_qrcode_share_text":"這是您的電子票券,請妥善保管:\n{ title }-{ variantTitle }\n票號:{ ticketNumber }","eticket_orders_qrcode_ticket_number":"票號:{ ticket_number }","eticket_orders_qrcode_used":"已核銷","eticket_orders_qrcode_used_status":"已使用:{ used } / 尚未使用:{ not_used }","eticket_orders_quantity":"數量:{ quantity }","eticket_orders_send_etickets":"寄送電子票券","eticket_orders_send_message_to_shop":"發訊息給店家","eticket_orders_separate_etickets":"分票","eticket_orders_separate_etickets_cancel":"取消操作","eticket_orders_separate_etickets_confirm":"確認分票","eticket_orders_separate_etickets_description":"請注意,您即將進行分票程序。分票後每張票會有獨立核銷碼 QR Code(原本核銷碼 QR Code 將無法使用),您可以將不同核銷碼截圖分享多人使用,此操作不可回復。","eticket_orders_submit":"送出","eticket_orders_subtotal":"小計","eticket_orders_title":"電子票券訂單查詢","eticket_orders_total_price":"總金額","eticket_orders_unused":"未使用:{ quantity }","eticket_orders_usage_status":"使用狀態","eticket_orders_used":"已使用:{ quantity }","eticket_orders_view_order_details":"查看訂單詳情","eticket_term_of_service":"CYBERBIZ 電子票券服務使用說明","failed_to_send_message":"發送訊息失敗","order_empty_note":"無任何資訊","payment_status_failed":"付款失敗,請聯絡客服","payment_status_pending":"等待請款","payment_status_success":"付款成功","show_eticket_button_qr_code":"顯示票券 QR code","show_eticket_button_used":"票券已使用","usage_status_partial_used":"部分使用","usage_status_used":"使用完畢"},"express_delivery":{"add_to_cart":"加入購物車","add_to_cart_error":"加入購物車失敗","address_incomplete":"輸入之地址不完整","address_incomplete_hint":"您的地址不完整,請輸入正確地址再加購物車","back_to_product_list":"返回商品列表","business_hours":"營業時間","cancel":"取消","change":"變更","change_address":"變更地址","choose_store":"選擇外送門市","cyberbiz_now":"快速到貨","default_sort":"預設排序","delivery_address":"外送地址","delivery_address_detail":"樓層或房號","delivery_address_detail_hint":"請輸入樓層或房號","delivery_address_hint":"請輸入外送地址","delivery_address_separate_tips":"請另外填寫樓層或房號資訊","empty_collection":"此分類目前沒有商品","exit":"離開","exit_prompt":"您確認要離開快速到貨?","express_delivery":"CYBERBIZ NOW 快速到貨","get_position_error_internal":"錯誤:請開啟瀏覽器存取位置權限","get_position_error_no_permission":"錯誤:請開啟您的網頁定位服務","get_position_error_require_https":"錯誤:需要https","get_position_error_timeout":"錯誤:超過請求時間","more_info":"更多資訊","not_search_stores_yet":"請點擊搜尋門市","phone":"聯絡電話","please_select_specifications":"請選擇規格","pre_order":"預購商品","price_asc":"價格由低到高","price_desc":"價格由高到低","product_count":"共 {totalCount} 件商品","recent_days_sold_desc":"本週熱賣","sales_start_info":"{time} 開賣","sales_start_info_verbose":"{day} {time} 開賣","search_failed":"搜尋門市失敗","search_product_count":"您搜尋{selectedStoreName}的商品共 {count} 項","search_stores":"搜尋門市","sell_from_asc":"上市日期舊到新","sell_from_desc":"上市日期新到舊","service_description":"CYBERBIZ NOW 快速到貨 服務說明:","service_description_detail":"此購物服務由 CYBERBIZ 系統提供,我們與第三方合作夥伴配合提供外送服務,提供您更快速的購物體驗。","service_hours":"接單時間:{day} {time}","service_is_available":"您輸入的地址支援「CYBERBIZ NOW 快速到貨」","service_not_available_in_the_region":"很抱歉,您目前所在區域不支援「CYBERBIZ NOW 快速到貨」。","sold_out":"已售完","store_address":"門市地址","store_address_info":"門市地址:{address}","store_is_closed":"目前不接受服務","view_products":"查看商品"},"express_delivery_with_regularly_used_address":{"address":"外送地址","address_detail":"樓層或房號","address_detail_placeholder":"請輸入樓層或房號","address_incomplete_hint":"請輸入完整的外送地址","address_invali
131d_content":"外送地址為必填","address_placeholder":"請輸入外送地址","button_create":"新增地址","button_save":"儲存","button_save_as_regular":"儲存為常用","cancel":"取消","create_address":"新增一筆常用地址","delete":"刪除","delete_failed":"刪除失敗","delete_hint":"移除地址後將無法復原。","delete_message":"您確定要刪除此地址嗎?","delete_success":"成功刪除","edit":"編輯","empty_lists":"無常用外送地址","empty_lists_hint":"您目前尚無地址,請點擊新增來建立常用地址。","limit_hint":"常用地址最多儲存 5 組,系統將自動移除最早儲存的地址","name":"名稱","name_invalid_content":"名稱為必填","name_placeholder":"請輸入名稱","return":"保留","save_as_regular":"儲存為常用","save_success":"成功儲存","search_failed":"此地址沒有可外送門市,請改用其他外送地址","select_address":"選擇常用外送地址","site":"地址","site_invalid_content":"地址為必填","site_placeholder":"請輸入地址","title_address_lists":"已儲存常用地址","title_delete_address":"確認要刪除此地址?","title_edit_address":"編輯外送地址","title_save_as_regular":"儲存為常用外送地址"},"i18n_setting":{"currency":"幣別","language":"語言","language_currency_setting":"語言及幣別設定"},"line_group_buy":{"add_to_cart":"加入購物車","go_checkout":"前往結賬","product_description":"商品介紹","product_shipping":"運送方式","product_spec":"規格說明"},"menu":{"fourDimensionMenu":{"account":"我的帳戶","cart":"購物車","help":"聯絡我們","locator":"銷售據點","wishlist":"收藏清單"}},"omniauth_mobile":{"check_account":"為了確認是您本人,請輸入手機號碼進行驗證","confirm_account_information":"請確認以下是否為您的會員資料","confirm_submit":"送出","enter_mobile_number":"請輸入您的手機號碼","merge":"是,請合併會員","mobile_number":"手機號碼","phone_validation":"手機驗證","reconfirm":"否,重新驗證","registered":"我已經有會員帳號了?","resend":"重新發送","resend_with_timer":"({ timer }秒)重新發送","retry_later_error":"達系統操作上限,請重新整理並再試一次","return_login":"回登入頁面","send_confirmation_token":"已將簡訊寄送至手機","send_message":"發送簡訊驗證碼","submit_btn":"加入會員","verification_code":"4 位數簡訊驗證碼"},"repurchase":{"alcohol_all_cannot_repurchase":"此訂單商品無法再次詢價","all_cannot_repurchase":"此訂單商品無法再次購買","comma":",","lense_all_cannot_repurchase":"此訂單商品無法再次配送","partial_cannot_repurchase":"{ reasonList }實際請以購物車為主","quote_product_name":"「{ productName }」","reason_combo_product_changed":"組合品內容異動","reason_exceed_the_stock":"庫存不足商品","reason_product_is_discontinued":"已下架商品","reason_product_not_found":"已刪除商品","separator":"、"},"theme_pages":{"branch_store":{"get_store_empty":"無可用門市資料","get_store_error":"載入門市資料發生錯誤","options_all_cities":"所有縣市","search_stores":"搜尋","store_address":"地址: { address }","store_open_time":"營業時間: { openingHours }","store_phone":"電話: { phone }"},"collection":{"all_filters":"所有篩選條件","filter_button":"篩選","filter_no_result":"很抱歉,無商品符合篩選條件","not_on_sale_yet":"尚未開賣","please_reselect":"請重新輸入篩選","product_sold_out":"商品已售完","products_total":"共 { totalProductCounts } 件商品","reset_all_filters":"清除所有篩選","reset_filter_button":"清除篩選","suggested_range":"建議區間:","upcoming_product":"開賣時間","view_product":"查看商品"},"combo_product":{"add_cart_error_try_again":"加入購物車有誤,請重新嘗試","arrive_soon":"即將到貨","contact_shop":"聯絡店家","discount_bonus":"此商品 「 最高 」可折抵紅利","has_stock":"尚有庫存 ","insufficient_selected_quantity":"請選擇組合商品款式,尚差 { count } ä»¶","inventory_status":"供貨狀況","less_than_count":"數量不得少於 { count }","limit_reached":"已達上限","no_stock":"庫存不足","notification_enabled":"已登記補貨通知","notify_me_when_stock_arrives":"已售完,貨到通知我","over_cart_limit":"數量超過購買上限","over_stock_quantity":"超過庫存數量","point_equal":"約","points":"點","pre_order":"預購商品","quantity_over_combo_product_limit":"數量已超過組合商品上限","related_item_name":"款式名稱","related_item_quantity":"數量","select_optional_combo_product_items":"選擇組合品款式","selectable_count":"全部可選擇 { count } 項,","selected_count":"已選 { count } 項"},"contact":{"contact_form":"聯絡我們","email":"電子郵件","email_placeholder":"請輸入您的電子郵件,例:[email protected]","fail_operation":"操作失敗!","invali
131d_email":"這不是有效的電子郵件","invalid_name":"姓名為必填","invalid_phone_number":"聯絡電話為必填","invalid_question_content":"問題內容為必填","name":"姓名","name_placeholder":"請輸入您的姓名","phone_number":"聯絡電話","phone_number_placeholder":"請輸入聯絡電話","question_content":"問題內容","question_content_placeholder":"請輸入問題內容","question_submit_fail":"發生問題,請稍後再試","question_submit_success":"問題已成功送出,我們將盡快與您聯繫","question_type":"問題類型","success_operation":"操作成功!"},"customer_coupon":{"customer_coupons_product_name":"兌換商品","customers_coupons_available_used":"可使用 / 已使用","customers_coupons_available_used_already_used":"{ availableUsed }次 / { alreadyUsed }次","customers_coupons_coupon":"優惠券","customers_coupons_days":"天","customers_coupons_discount":"折","customers_coupons_end_date":"使用期限","customers_coupons_end_date_msg_1":"從{ start_date }開始無限期","customers_coupons_end_date_msg_2":"即日起至{ end_date }","customers_coupons_end_date_msg_3":"尚未啟用,因店家尚未結案訂單{ name }","customers_coupons_end_date_msg_4":"無限期","customers_coupons_expired":"已失效","customers_coupons_free_shipping":"免運","customers_coupons_gift_coupon":"贈品券","customers_coupons_left":"剩","customers_coupons_list_div":"、","customers_coupons_lookup_suit_product":"查看適用商品","customers_coupons_method":"使用方式","customers_coupons_no_coupons_msg":"您的帳號目前沒有可用的優惠券","customers_coupons_no_end_date":"無期限","customers_coupons_no_start_use":"尚未啟用","customers_coupons_not_suit":"不適用","customers_coupons_product_deleted":"贈送商品已刪除","customers_coupons_serial_number":"序號","customers_coupons_still_available":"還可使用 { timesLeft } 次","customers_coupons_suit_any_discount":"適用所有活動","customers_coupons_suit_any_product":"適用所有商品","customers_coupons_suit_discount":"適用活動","customers_coupons_suit_product":"適用商品","customers_coupons_unlimited":"還可使用無限次","customers_coupons_unlimited_already_used":"無限次 / { alreadyUsed }次","threshold_hint":"滿 { price } 可用"},"footer":{"about_us":"關於我們","shop_address":"地址:","shop_email":"信箱:","shop_fax":"客服傳真:","shop_phone":"客服專線:","shop_time":"客服時間:","tax_id":"統一編號:"},"order_return":{"account_name":"戶名","address1":"詳細退貨地址:路/å··/弄/樓","all_return":"全部退貨","apply_fail":"申請失敗","apply_return":"退貨申請","apply_return_success":"您的退貨申請已成立","apply_success":"申請成功","bank_account":"銀行帳號","bank_branch_name":"分行名稱","bonus_redemption":"紅利換購","check_account_length":"請檢查銀行帳號長度","check_order":"訂單查詢","choose_branch_bank":"請選擇分行","choose_return_reason":"請選擇退貨原因","city":"城市","confirm_return":"申請退貨","country_placeholder":"請選擇國家","coupon_free_shipping":"免運券折抵","deliver_error":"寄送商品錯誤","discount_detail":"折扣明細","enter_account_name":"請輸入戶名","enter_return_reason":"請填寫退貨原因...","estimated_refund_amount":"預計退款金額","free":"免費","gift_price":"加購價","gift_purchase":"滿額/件贈","include_discount_and_shipping_fee":"含優惠折扣與運費","keep_shopping":"繼續購物","keyin_address1":"請填寫詳細退貨地址:路/å··/弄/樓","keyin_city":"請輸入城市","keyin_zip":"請輸入郵遞區號","line_item_quantity":"數量:{ lineItemQuantity }","literal_points":"點","new_product_defect":"新品瑕疵","order_date":"訂購日期","order_number":"訂單編號","order_retrun_confirm":"您確認要申請退貨?","others":"其他","please_choose_bank":"請選擇銀行","please_select_country":"請選擇退款銀行國家","price_includes_tax":"(內含消費稅:{ tax })","product_content_defect":"商品內容不全","product_defect":"商品有缺陷","refund":"退款金額","refund_account":"退款帳戶","refund_info":"退款資訊","refund_instruction":"不含優惠折扣與運費,實際退款金額將以系統金額為主。","refund_invoice_check":"本人同意發票作廢或「營業人銷貨退回進貨退出貨或折讓證明單」將全權由{ envoiceCompanyName }處理,以利加速退款作業。如有退貨/折讓,將直接開立折讓單上傳至財政部電子發票整合服務平台存證。","related_item":"{ name } x{ quantity }","return_address":"退貨地址","return_email_notification":"退貨申請信已寄至您的信箱","return_info":"退貨資訊","return_instruction":"退貨說明","return_item_error":"請至少選擇一件商品進行退貨","return_msg_Taiwan_shop":"1. 收到商品後如有發現瑕疵或破損狀況,需要辦理或換貨,請於收到貨後7天內登入『我的帳戶』頁面點選『申請退貨』。\u003cbr\u003e 2. 收到商品後可享有7天免費鑑è³
131žæœŸï¼ˆå«ä¾‹å‡æ—¥ï¼‰ã€‚退換貨時請保持原包裝商品的完整(包含購買商品,附件,贈品等)。\u003cbr\u003e 3. 收到申請後,我們將與您聯繫取回商品。若有任何退貨問題,您可以在『訂單明細』中,點選『我要詢問』,請勿自行寄回商品。\u003cbr\u003e 4. 當你申請退貨後,請列印本申請單隨商品一起寄回。\u003cbr\u003e 5. 收到您的退貨商品並審查通過後,將於7個工作天內退款至你的退款帳戶。\u003cbr\u003e","return_msg_not_Taiwan_shop":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。如需詳細資訊和指導,請參閱商店的退貨政策。\u003cbr\u003e 2. 退貨或換貨時,請確保原包裝完好無損,包括所購商品、配件、贈品等。\u003cbr\u003e 3. 在收到您的退款申請後,我們會與您聯繫安排取回商品。如有任何退貨問題,請在「我的訂單」頁面點擊「聯繫商家」。請勿自行退回商品。\u003cbr\u003e 4. 印出此申請表並隨退貨商品一同寄回。\u003cbr\u003e 一旦收到並檢查您的退貨商品後,退款將退回至您的原支付方式或銀行帳戶。退款可能需要7至14天顯示於您的銀行對帳單。","return_product":"退貨商品","return_quantity":"退貨數量","return_reason":"退貨原因","shipping_fee":"運費","state_placeholder":"請選擇州/省","tax":"稅額","total_bonus_redemption":"總紅利換購點數","tw_city_placeholder":"請選擇縣市","tw_district_placeholder":"請選擇鄉鎮市區","vip_shipping_free":"VIP免運費","zip":"郵遞區號"},"product_collection":{"check_product":"查看商品"},"product_list":{"must_confirmed":"需先\u003ca href=\"/account\"\u003e驗證您的帳號\u003c/a\u003e才能開始結帳","must_sign_up":"需先\u003ca href=\"/account/login?{ path }\"\u003e登入\u003c/a\u003e或\u003ca href=\"/account/signup?{ path }\"\u003e註冊\u003c/a\u003e才能開始結帳"},"search":{"articles_total":"共 { totalArticleCounts } 篇文章","continue_reading":"繼續閱讀","search_article_label":"文章搜尋結果 ({ totalArticleCounts })","search_no_result":"很抱歉,找不到 { queryString } 請重新輸入搜尋。","search_product_label":"商品搜尋結果 ({ totalProductCounts })","search_total":"搜尋 { queryString } 結果共 { totalSearchCount } 筆"},"special_collection":{"already_choose_and_buy_more":"已選購 { quantity } 件,再買 { quantity_more } ä»¶","buy_more_promotion":"買越多省越多喔!","buy_quatity":"è²· { quantity } 件,","need_diopter":"請先前往會員頁補填資料","need_login":"請先登入","not_choose_items_yet":"尚未選購商品","not_choose_yet":"尚未選購","origin_price":"原價","over_cart_limit":"數量超過購買上限","over_stock":"數量超過庫存","over_stock_count":"商品庫存剩餘 { count } ä»¶","sales_price":"優惠價","select":"選購","selected":"已選購","special_collection_discount_per":"享每個折扣 { price }","special_collection_discount_pirce":"享折扣 { price }","special_collection_discount_quatity1":"即可享 { quantity } ä»¶ { price }","special_collection_divided_by_ten":"享 { percentage } 折優惠"}},"validation":{"auth_to_add_notification":"請先登入或註冊以利登記通知","check_email_immediately":"點擊查看信箱","click_to_resend_validate_email":"沒有收到電子郵件?請查看垃圾郵件或","click_to_resend_validate_sms":"沒有收到簡訊?請點擊重新發送","go_to_member":"前往會員","resend_too_frequently":"發送過於頻繁,請稍後一分鐘後再試","resend_validation_email_success":"已重新寄送帳號驗證信","resend_validation_msg_failed":"重新寄送帳號驗證訊息失敗,請稍後再試","resend_validation_sms_success":"已重新寄送帳號驗證簡訊","second":"秒","select_variant":"請選擇商品款式","send_valid_email_again":"重新發送","send_validation_email1":"已發送郵件至您信箱{ customerEmail }","send_validation_email2":"請按照郵件提示完成帳號啟用","send_validation_sms1":"已送簡訊至您手機{ customerMobile }","send_validation_sms2":"請按照簡訊提示完成帳號啟用","validate_your_account":"還差一步,完成驗證即可啟用帳號","wait_to_send_valid_email":"({ seconds })重新發送"}}}},
132            hasI18nInContextEditing: false,
133            shopMultipleCurrenciesCheckout: false,
134            hasLocalizedShopPriceFormat: true,
135          }
136        </script>
136
137
138        
139        
139<script
140          src="//cdn-general.cybassets.com/frontend/shop/tolgeeIntegration-e958d46bfee2e69f.js">
141        </script>
141
142        
142<script defer>
143          /*
144          * Enable in-context translation for Liquid part on the page.
145          * This must be executed last to prevent conflicts with other Vue apps.
146          * So put it to `onload`, which will be executed after DOM ready's app mount
147          */
148          window.onload = function() {
149            if (
150              window.shopScriptHelper &&
151              window.shopScriptHelper.hasI18nInContextEditing
152            ) {
153              window.initTolgeeForLiquid()
154            }
155          }
156        </script>
156
157
158<script> var google_con_event_labels = []</script>
vendor: 1 bytes, line 158
158
159<script src="//cdn-general.cybassets.com/frontend/shop/pageEventHandler-e958d46bfee2e69f.js"></script>
vendor: 1 bytes, line 159
159
160<script src="//cdn-general.cybassets.com/frontend/shop/globalAnalysis-e4c650eb0b.js"></script>
160
161        
161<script>
162          window.c12t = {"customer_id":null,"product":{"id":69561326,"name":"鋁箔手提保冷禮袋","price":15.0,"brand":"豆穌朋官網"}};
163        </script>
163
164
165        <meta name="request-id" content="0D48F54522C4255BF3DF79DFB9973EEB"/>
166
167<link rel="canonical" href="https://www.dosuper.com.tw/products/999910002">
168<script src="//cdn-general.cybassets.com/frontend/shop/carousel-e958d46bfee2e69f.js"></script>
168
169          
169<script>
170            window.parent.postMessage({ type: 'previewShopInit', currentUrl: window.location.href }, '*');
171          </script>
171
172
173<script src="//cdn-general.cybassets.com/frontend/appStoreSDK/main.2798231628aa7fab87a9.js"></script>
vendor: 1 bytes, line 173
173
174<script>window.CYBERBIZ_AppScriptSettings = {"shop_add_ons":"W3sidmVuZG9yX3R5cGUiOiJDWUJFUkJJWiBHb29nbGUgQW5hbHl0aWNzIDQi\nLCJhcHBfaWQiOiJRVWo1WnFvZUlPUjlaM2JaS2trMG44N3l5a0FpOWU0NURE\naDJ0YlFnaUJBIiwic2V0dGluZ3MiOnsiZ3RhZ19pZCI6IkctVDZSUFJTSjlG\nVywgRy00QjdSSzdGSFdIIn19LHsidmVuZG9yX3R5cGUiOiJHb29nbGUgQW5h\nbHl0aWNzIDQiLCJhcHBfaWQiOiJSYkpWMTVFcVZWOHJ1Umo3NVlmV3Z1RUlD\nRm90Q0FPZm0xSDZtZ3hyNkZBIiwic2V0dGluZ3MiOnsiZ3RhZ19pZCI6Ikct\nS1dEUjlHTkVFNyJ9fSx7InZlbmRvcl90eXBlIjoiQ2hhdCBCb3giLCJhcHBf\naWQiOiJjOWQ4M2YwOTk2MTc0ZmJiYTg2ZWJhMDQxYWU4OThhMiIsInNldHRp\nbmdzIjp7IndpZGdldF9rZXkiOiJjVEh6RWVmUHBYWEw3QTVPIn19XQ==\n"}
175</script>
vendor: 1 bytes, line 175
175
176<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/9d6f4550aad572e9f70abb70ae5a6552482cf617ea5e4d5a32ed4ebbb5d60d54.js"></script>
vendor: 1 bytes, line 176
176
177<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/a810ec58aab67d16f8de1c4adf06fc7cc9f4477ec503b9cb1a998741bc692652.js"></script>
vendor: 1 bytes, line 177
177
178<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/8766542902afa60f4adda3c555c06025d2c27771ea85a6fc657a91cddbe5c59f.js"></script>
vendor: 1 bytes, line 178
178
179<script>window.CYBERBIZ.initializeSDK.initialize();</script>
vendor: 1 bytes, line 179
179
180<script src="//cdn-general.cybassets.com/frontend/shop/setAffliateCookie-e958d46bfee2e69f.js"></script>
180
181
182
183
184
185
186
187<meta name="title" content="鋁箔手提保冷禮袋 | 豆穌朋官網">
188<meta property="og:title" content="鋁箔手提保冷禮袋 | 豆穌朋官網">
189<meta name="description" content="全站任選2件商品購物車結帳時可以$10加購網路下單限定">
190<meta property="og:description" content="全站任選2件商品購物車結帳時可以$10加購網路下單限定">
191<meta name="keywords" content="鋁箔手提保冷禮袋">
192<meta property="og:url" content="https://www.dosuper.com.tw/products/999910002">
193<meta property="og:type" content="og:product">
194<script type="application/ld+json">{"@context":"https://schema.org/","@type":"Product","name":"鋁箔手提保冷禮袋","image":"https://cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfYjM5ZjBlMzk0ZDc4MWU2YTIzZGYuanBlZyJdLFsicCIsInRodW1iIiwiNDgweDQ4MCJdXQ.jpeg?sha=e8f1614a9ea7d771","description":"全站任選2件商品\n購物車結帳時可以$10加購\n網路下單限定","brand":"豆穌朋官網","sku":"999910002","productId":69561326,"offers":{"@type":"Offer","url":"https://www.dosuper.com.tw/products/999910002","priceCurrency":"TWD","price":"15.0","priceValidUntil":"","availability":"InStock"}}</script>
194
195
196      
196<script>
197        document.addEventListener("DOMContentLoaded", function() {
198          gtag('event', 'view_item', {"items":[{"id":84890442,"name":"鋁箔手提保冷禮袋","price":15.0}],"send_to":["cyberbiz","dynamic_remarketing"]});
199        })
200      </script>
200
201    
202
203      
203<script>
204        document.addEventListener("DOMContentLoaded", function() {
205          try {
206            var productData = [{"id":"999910002","product_id":69561326,"variant_id":84890442,"sku":"999910002","name":"鋁箔手提保冷禮袋","price":15.0,"compare_at_price":15.0,"currency":"TWD","inventory_quantity_status":"safety","category":null,"categories":["其他"],"properties":[],"list_name":""}];
207
208            if (document.referrer.indexOf('collection') !== -1 || document.referrer.indexOf('products') !== -1) {
209              for (var i = 0; i < productData.length; i++) {
210                productData[i].list_name = sessionStorage.getItem("viewedCollection");
211              }
212            }
213
214            window.CYBERBIZ.eventSDK.callEvent("viewItem", productData)
215
216            window.addEventListener("beforeunload", function(event) {
217              var collection = "相關商品";
218              sessionStorage.setItem("viewedCollection", collection);
219            });
220
221          } catch (error) {
222            console.error('Exception catched in appMarketViewItemEvent')
223          }
224        })
225      </script>
225
226    
227
228<script src="//cdn-general.cybassets.com/frontend/shop/gallery-e958d46bfee2e69f.js"></script>
228
229
230    <style id="color_settings">
231  :root {
232    
233      --button: #fa740c;
234    
235
236    
237      --button_text: #FFFFFF;
238    
239
240    
241      --accent: #4f1bfe;
242    
243
244    
245      --heading: #906122;
246    
247
248    
249      --text: #112612;
250    
251
252    
253      --price: #906122;
254    
255
256    
257      --discount_price: #fc0505;
258    
259
260    
261      --theme_bg: #FFFFFF;
262    
263
264    
265      --nav_logo_bg: #FFFFFF;
266    
267
268    
269      --nav_menu_bg: #fff2e6;
270    
271
272    
273      --nav_menu_text: #124d15;
274    
275
276    
277      --nav_menu_icon: #fa740c;
278    
279
280    
281      --footer_bg: #fcf7ef;
282    
283
284    
285      --footer_text: #124c15;
286    
287
288    
289      --checkout_button: #fa740c;
290    
291
292    
293      --checkout_accent: #fe0a0a;
294    
295
296    
297      --product_border: #4a8876;
298    
299
300    
301      --tips_text: #fc070e;
302    
303
304    
305
306    
307  }
308</style>
309
310
311
312
313  
314        <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 74 bytes, lines 314-315
314
315          <script async src="https://www.googletagmanager.com/gtag/js?id=
315G-T6RPRSJ9FW
vendor: 22 bytes, lines 315-316
315"></script>
316          
316<script>
317            window.dataLayer = window.dataLayer || [];
318            function gtag(){dataLayer.push(arguments);}
319            gtag('js', new Date());
320            gtag('config', 'G-T6RPRSJ9FW', {"groups":"cyberbiz","custom_map":{"dimension1":"shop_id","dimension2":"customer_id","dimension3":"infinite_scroll","dimension4":"dim_affiliate"},"shop_id":33898,"dim_affiliate":null});
321            gtag('config', 'UA-64017614-1', {"groups":"cyberbiz","custom_map":{"dimension1":"shop_id","dimension2":"customer_id","dimension3":"infinite_scroll","dimension4":"dim_affiliate"},"shop_id":33898,"dim_affiliate":null});
322      </script>
322
323      
323<script>
324        (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
325        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
326        m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
327        })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
328
329        ga('create', '', 'auto', {'name': 'cyberbiz'});
330        ga('cyberbiz.require', 'displayfeatures');
331        ga('cyberbiz.set', 'dimension1', '33898');
332        ga('cyberbiz.require', 'ec');
333        ga('cyberbiz.send', 'pageview');
334      </script>
334
335    
336      
336<script>
vendor: 426 bytes, lines 336-343
336
337      !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
338      n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
339      n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
340      t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
341      document,'script','//connect.facebook.net/en_US/fbevents.js');
342
343      fbq('init', '
343367607908406534
vendor: 38 bytes, lines 343-344
343', {}, {'agent':'plcyberbiz'});
344      
344fbq('track', "PageView", '', { eventID: "PageView_0D48F54522C4255BF3DF79DFB9973EEB" });
345      var facebook_pixel_id = '367607908406534'</script>
345
346
347    </head>
348
349  <body style="display: flex; flex-direction: column;"><!-- Google Tag Manager (noscript) -->
vendor: 74 bytes, lines 349-350
349
350            <noscript><iframe src="//www.googletagmanager.com/ns.html?id=
350GTM-K742Q47Q
vendor: 105 bytes, lines 350-352
350"
351            height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
352          
352<!-- End Google Tag Manager (noscript) -->
vendor: 74 bytes, lines 352-354
352
353      <noscript><iframe
354      src="//www.googletagmanager.com/ns.html?id=
354GTM-TXD9LVJ
vendor: 186 bytes, lines 354-361
354"
355      height="0"
356      width="0"
357      style="display:none;visibility:hidden">
358      </iframe></noscript>
359    
360      <noscript><iframe
361      src="//www.googletagmanager.com/ns.html?id=
361GTM-P7528MQ
vendor: 117 bytes, lines 361-367
361"
362      height="0"
363      width="0"
364      style="display:none;visibility:hidden">
365      </iframe></noscript>
366    
367    
367<!-- Navigation -->
368    <!-- cyb_snippet liquid_helper start -->
369<script>
370	function getDiscountPriceName() {
371		return "true" === "true" ? "" : "";
372	}
373
374	function getDiscountPriceSuggestionName() {
375		return "false" === "true" ? "" : "";
376	}
377
378  document.addEventListener('DOMContentLoaded', function() {
379    const languageHandle = Cookies.get("language");
380    const defaultLanguage = {"handle":"zh-TW","currency_code":"TWD","title":"繁體中文"};
381    const languages = [];
382    const currency = window.shopScriptHelper.defaultCurrency;
383    const currencies = window.shopScriptHelper.currenciesInfo;
384		window.liquidHelper = {
385			shopInternational: false,
386			defaultLanguage: defaultLanguage,
387			language: languages.find(function(l) {
388				return l.handle === languageHandle;
389			}) || defaultLanguage,
390      shopMultipleCurrenciesCheckout: false,
391			shopMultipleCurrencies: false,
392			defaultCurrencyFormat: "NT${{amount_no_decimals}}",
393			defaultCurrency: currency,
394			getCurrency: function() {
395        const currencyValue = Cookies.get("currencyValue") || currency;
396        return currencies.find(function(c) { return c.code === currencyValue; }
397      )},
398      getDefaultCurrency: function() { return currencies.find(function(c) {
399				return c.code === currency;
400			})},
401      getAvailableCurrencies: function() { return currencies.map(c => c.code) },
402      getCurrencyFormatInfo: function(currency) {
403        const currencyInfo = currencies.find(c => c.code === currency)
404        return _.pick(currencyInfo, [
405          'decimal_precision',
406          'symbol',
407          'money_format',
408          'unit',
409          'trailing_zeros',
410          'html_unit',
411          'code',
412        ]);
413      },
414			cartQuantityLimit: (function() {
415        const limit = Number("0" || undefined);
416        return limit <= 0 || isNaN(limit) ? Number.POSITIVE_INFINITY : limit;
417      })(),
418			isFirstVariantSelected:  false ,
419			isImageColorsUsed:  false ,
420			isEmptyClickable:  true ,
421			hasAddBuyProduct: '' !== "" ? true : false,
422			hasPriceWithDiscountPlugin: 'true' ? true : false,
423      conversionBonus: 1,
424      hasLocalizedShopPriceFormat: true,
425      hasCustomerCartPlugin: true,
426      isCartEnabled: true,
427      cdnHost: '//cdn-general.cybassets.com',
428      hasShopCustomPasswordRulePlugin: false,
429      hasDisableProductQuantityValidation: false,
430      hasBreadcrumbReferrerEnabled: false,
431		};
432	});
433</script>
433
434
435<!-- cyb_snippet liquid_helper end -->
436
437<script src='//cdn-general.cybassets.com/frontend/shop/navbarSection-e958d46bfee2e69f.js' type='text/javascript'></script>
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454<style>
455  
456    #navbar {
457      --navbar-pc-title-scale: 1.1;
458      --navbar-pc-body-scale: 1.0;
459      --navbar-mobile-title-scale: 1.1;
460      --navbar-mobile-body-scale: 1.0;
461    }
462  
463
464  
465
466  
467</style>
468
469
470  <span id="navbar" class="drawer drawer--left font-size-setting-enabled">
471    <header id="header" class="qk-w--100vw qk-pos--fixed qk-t--0 qk-l--0">
472      
473
474      
475        <div id="announcement-bar"></div>
476      
477
478      
479      
480        
481
482        <div class="computer_nav row_nav qk-hidden--mobile ">
483          <div class="header_logo qk-bg--nav_logo_bg">
484            <div class="qk-pos--rel">
485              <div class="qk-text--center qk-display--flex">
486                <!-- logo start -->
487                
488                
489                  <nav class="logo qk-display--il_bk">
490                    <a href="/" class="qk-w--100">
491                      <img
492                        src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5NDUxMTUxX-WSluWVoeiJsumAj-aYjuW6lS5wbmcucG5nIl1d.png?sha=16fdb915aeb70f7b"
493                        class="qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--pc_logo qk-hidden--mobile"
494                        style="width: auto; height: 97px;"
495                        alt="豆穌朋堅持天然拒絕添加,回歸食材的純粹與新鮮美味"
496                        height="52"
497                        width="auto"
498                      >
499                    </a>
500                  </nav>
501                
502                <!-- logo end -->
503                
504                  <div class="header_nav qk-flex--1">
505                    <div class="qk-pos--relative center qk-pd_r--1 qk-w--100">
506                      <!-- main-nav start -->
507                      <nav class="main_nav qk-display--init">
508                        <!-- cyb_snippet _main_nav_skeleton start --><ul
509    class="main_nav_skeleton link_shelf_top qk-display--flex qk-flex--row qk-flex--wrap qk-justify--center qk-align--center qk-body"
510    style="justify-content: center; visibility: hidden;"
511    aria-hidden="true"
512  ><span>
513        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">首頁</a></li>
514      </span><span>
515        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/collections/all1" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">商品類別</a></li>
516      </span><span>
517        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/collections/sale" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">這裡最優惠</a></li>
518      </span><span>
519        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/collections/任12件89折" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">任12件89折</a></li>
520      </span><span>
521        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/collections/精選咖啡" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">精選咖啡</a></li>
522      </span><span>
523        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/blogs/購物說明" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">販售點與購物說明</a></li>
524      </span><span>
525        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/blogs/news" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">最新動態</a></li>
526      </span></ul><!-- cyb_snippet _main_nav_skeleton end -->
527                      </nav>
528                      <!-- main-nav end -->
529                    </div>
530                  </div>
531                
532                <!-- tool-nav start -->
533                
534                  <div style="display: flex; align-items: center; position: relative; top: -12px;">
535                    <!-- cyb_snippet tool_nav start -->
536
537
538
539
540
541
542<nav class="tool-nav qk-pos--rel qk-float--r qk-display--flex">
543  <ul class="link_shelf_top qk-display--flex qk-flex--row qk-justify--end qk-align--center qk-pos--abs qk-r--0">
544    
545    
546    <!-- member -->
547    
548      <li class="customer_account qk-pos--rel qk-pd--05">
549        <div class="dropdown qk-pos--static">
550          <div class="qk-cursor--pointer" data-toggle="dropdown">
551            <div data-icon-type="custom_icon_type_account"></div>
552            <span class="text"></span>
553          </div>
554          <div class="member qk-dropdown_menu dropdown-menu qk-pos--abs qk-r--0 qk-bd--default qk-bd--product_border qk-bg--theme_bg" role="menu">
555            <ul id="customer-logined-menu" style="display: none">
556              <li>
557                <div class="qk-fs--body qk-text--heading">
558                  <p class="customer-name qk-whitespace-break-spaces"></p>
559                  <p>您好!</p>
560                </div>
561              </li>
562            </ul>
563            <ul id="customer-not-login-menu">
564              <li class="button qk-text--center">
565                <a href="/account/login" class="btn-login qk-btn qk-btn--lg qk-btn--primary qk-w--100">會員登入</a>
566              </li>
567              <li class="button qk-text--center">
568                <a href="/account/signup" class="btn-orders qk-btn qk-btn--lg qk-btn--secondary qk-w--100 qk-bg--transparent">註冊新會員</a>
569              </li>
570            </ul>
571            <span class="menu-bd qk-bd_t--default qk-bd--product_border"></span>
572            <ul class="member-menu qk-bd_t--default qk-bd--product_border">
573              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
574                <a href="/account/index" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">我的帳戶</a>
575              </li>
576              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
577                <a href="/account/orders" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">訂單查詢</a>
578              </li>
579              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
580                <a href="/account/coupons" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">專屬優惠券</a>
581              </li>
582              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
583                <a href="/account/tracking_items" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">收藏清單</a>
584              </li>
585              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg customer-logout-li" style="display: none">
586                <a href="/account/logout" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">會員登出</a>
587              </li>
588            </ul>
589          </div>
590        </div>
591      </li>
592    
593    <!-- for money symbol -->
594    <div id="money-symbol" data-money-symbol="NT${{amount_no_decimals}}" hidden></div>
595    <!-- cart -->
596    
597      <li class="cart qk-pos--rel qk-pd--05">
598        <!--電腦版的購物車選單-->
599        <div class="dropdown qk-pos--static">
600          <div data-toggle="dropdown" class="shopcart qk-cursor--pointer" >
601            <div data-icon-type="custom_icon_type_cart"></div>
602            <span class="global-cart-count qk-circle qk-circle--sm qk-bg--accent qk-text--white qk-vert--mid qk-pos--abs qk-bd" style="display: none;">0</span>
603            <span class="global-cart-loading"></span>
604          </div>
605          <div class="qk-dropdown_menu dropdown-menu qk-pos--abs qk-r--0 qk-bd--default qk-bd--product_border qk-bg--theme_bg" role="menu">
606            <div class="cart_list global-cart-item-list custom-scrollbar qk-of_x--hidden qk-of_y--scroll qk-of_y--overlay qk-display--flex qk-flex--column qk-justify--between default_scale"></div>
607            <p class="cart_empty qk-fs--body qk-text--heading qk-text--center">目前的購物車是空的!</p>
608            <ul>
609              <li class="button qk-text--center">
610                <a class="btn-checkout qk-btn qk-btn--lg qk-btn--primary qk-w--100" href="/cart" style="display: none">立即購買</a>
611                <a class="btn-tracking qk-btn qk-btn--lg qk-btn--secondary qk-w--100 qk-bg--transparent" href="/account/tracking_items">前往收藏清單</a>
612              </li>
613            </ul>
614          </div>
615        </div>
616      </li>
617    
618    <!-- search -->
619    
620      <li class="search qk-pos--rel qk-pd--05" id="search-icon">
621        <div class="dropdown qk-pos--static">
622          <div class="qk-cursor--pointer" data-toggle="dropdown">
623            <div data-icon-type="custom_icon_type_search"></div>
624          </div>
625          <div class="qk-dropdown_menu dropdown-menu qk-pos--abs qk-r--0 qk-bd--default qk-bd--product_border qk-bg--theme_bg" role="menu">
626            <div class="search-area qk-display--flex qk-flex--row qk-justify--start qk-align--center qk-vert--mid">
627              <form action="/search" class="form-inline qk-search_form qk-display--flex qk-justfify--between qk-align--center qk-flex--1">
628                <input class="search-input form-control qk-inputbox qk-inputbox--lg qk-flex--1 qk-w--100 qk-bg--trans
628parent qk-text--heading" type="search" placeholder="搜尋" aria-label="Search" name="q" value="" />
629                <button class="search-btn qk-btn qk-btn--lg qk-btn--primary qk-pd--0" type="submit">搜尋</button>
630              </form>
631            </div>
632          </div>
633        </div>
634      </li>
635    
636    <!-- express delivery -->
637    
638  </ul>
639</nav>
640
641<!-- cyb_snippet tool_nav end -->
642                  </div>
643                
644                
645                <!-- tool-nav end -->
646              </div>
647            </div>
648          </div>
649        </div>
650      
651      <div class="qk-hidden--pc  ">
652        <!-- mobile-nav start -->
653        <nav class="mobile-nav qk-bg--nav_logo_bg">
654          <ul class="qk-display--flex qk-flex--row qk-justify--between qk-align--center qk-pd_x--05 qk-pd_y--0">
655            <!-- menu -->
656            
657              <li class="sidebar-menu-icon drawer-toggle qk-text--center qk-pd_x--05 qk-pd_y--0 qk-display--flex qk-align--center">
658                <div data-icon-type="custom_icon_type_menu"></div>
659              </li>
660            
661            <!-- logo -->
662            
663              <li class="logo qk-pos--abs qk-center--x qk-pd_y--0">
664                
665                  <a href="/" class="qk-display--il_flex qk-align--center qk-h--100 qk-hidden--phone">
666                    <img
667                      src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5NDUxMTUxX-WSluWVoeiJsumAj-aYjuW6lS5wbmcucG5nIl1d.png?sha=16fdb915aeb70f7b"
668                      height="25"
669                      width="auto"
670                      alt="豆穌朋堅持天然拒絕添加,回歸食材的純粹與新鮮美味"
671                    >
672                  </a>
673                
674                
675                  <a href="/" class="qk-display--il_flex qk-align--center qk-h--100 qk-hidden--tablet">
676                    <img
677                      src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5NDUxMTUxX-WSluWVoeiJsumAj-aYjuW6lS5wbmcucG5nIl1d.png?sha=16fdb915aeb70f7b"
678                      height="25"
679                      width="auto"
680                      alt="豆穌朋堅持天然拒絕添加,回歸食材的純粹與新鮮美味"
681                    >
682                  </a>
683                
684              </li>
685            
686            
687              <!-- search -->
688              
689                <li class="search qk-text--center qk-pd_x--05 qk-pd_y--0 qk-display--flex qk-align--center qk-mg_l--auto">
690                  <div class="dropdown qk-pos--static qk-text--center">
691                    <div class="qk-cursor--pointer" data-toggle="dropdown">
692                      <div data-icon-type="custom_icon_type_search"></div>
693                    </div>
694                    <div
695                      class="qk-dropdown_menu dropdown-menu qk-w--100vw qk-bg--theme_bg qk-bd--default qk-bd--product_border qk-mg--0"
696                      role="menu"
697                    >
698                      <div class="search-area qk-display--flex qk-flex--row qk-justify--start qk-align--center qk-sp_bt--5 qk-w--100">
699                        <form action="/search" class="form-inline qk-display--flex qk-justfify--center qk-flex--1">
700                          <div class="form-inline qk-search_form qk-display--flex qk-justfify--center qk-align--center qk-flex--1">
701                            <input
702                              class="form-control qk-flex--1 qk-inputbox qk-inputbox--lg qk-bg--transparent qk-text--heading"
703                              type="search"
704                              placeholder="搜尋"
705                              aria-label="Search"
706                              name="q"
707                              value=""
708                            >
709                            <button class="search-btn qk-btn qk-btn--lg qk-btn--primary qk-pd--0" type="submit">
710                              搜尋
711                            </button>
712                          </div>
713                        </form>
714                      </div>
715                    </div>
716                  </div>
717                </li>
718              
719              <!-- express delivery -->
720              
721            
722          </ul>
723        </nav>
724        <!-- mobile-nav end -->
725      </div>
726      
727    </header>
727<script>
728      (function () {
729        var isNavbarTransparent = false;
730
731        function measureHeaderOffset() {
732          var header = document.getElementById('header');
733          if (!header) return null;
734
735          var headerHeight = header.getBoundingClientRect().height;
736
737          if (isNavbarTransparent && window.matchMedia('(min-width: 992px)').matches) {
738            var computerNav = document.querySelector('.computer_nav');
739            if (computerNav) {
740              headerHeight -= computerNav.getBoundingClientRect().height;
741            }
742          }
743
744          var floatFilter = document.getElementById('float-filter');
745          var floatFilterHeight = floatFilter
746            ? floatFilter.getBoundingClientRect().height
747            : 0;
748
749          return headerHeight - floatFilterHeight;
750        }
751
752        window.measureHeaderOffset = measureHeaderOffset;
753
754        var offset = measureHeaderOffset();
755        if (offset !== null) {
756          document.body.style.paddingTop = offset + 'px';
757        }
758      })();
759    </script>
759
760    
761      <!-- Sidebar -->
762      <nav class="drawer-nav drawer-nav_width qk-bg--nav_menu_bg " role="navigation">
763        <div class="drawer-menu">
764          <!-- cyb_snippet side_menu start -->
765
766
767<ul id="index_sidebar_shelf_top" class="sidebar qk-pd_b--1">
768  
769    <li class="logo qk-pos--rel qk-bg--nav_logo_bg qk-pd_x--1 qk-pd_y--05">
770      <a href="/" class="qk-pd--0">
771        <img src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5NDUxMTUxX-WSluWVoeiJsumAj-aYjuW6lS5wbmcucG5nIl1d.png?sha=16fdb915aeb70f7b" height="32" width="auto" alt="logo">
772      </a>
773      <button class="drawer-toggle qk-pos--abs qk-bg--transparent qk-pd--0"></button>
774    </li>
775  
776  
777    
778
779    
780      <!-- cyb_snippet components/side_menu/menu start -->
781
782  <li class="category_title qk-fs--breadcrumb qk-bd--nav_menu_text qk-text--nav_menu_text qk-bd_b--default qk-fw--500">主選單</li>
783
784
785  
786  
787  
788    <li class="qk-pos--rel qk-pd--0">
789      
790        <a class="qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/">首頁</a>
791      
792    </li>
793  
794
795  
796  
797  
798    <li class="qk-pos--rel qk-pd--0">
799      <button class="linklist bt-toggle qk-fw--bold  qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-text--nav_menu_text qk-bg--nav_menu_bg qk-pos--rel" data-toggle="collapse" data-target=".collapse_index_sidebar_2" aria-expanded=" true ">
800        
801          <a class="qk-text--nav_menu_text" href="/collections/all1"> 商品類別 </a>
802        
803      </button>
804      <ul id="index_sidebar_shelf_second_2" class="collapse_index_sidebar_2 collapse shelf_second  show  qk-pd--0">
805        
806          
807          
808          
809            <li class="qk-pos--rel qk-pd--0">
810              
811                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/sale">
812                  精選最優惠
813                </a>
814              
815            </li>
816          
817        
818          
819          
820          
821            <li class="qk-pos--rel qk-pd--0">
822              
823                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/人氣泡芙">
824                  人氣泡芙
825                </a>
826              
827            </li>
828          
829        
830          
831          
832          
833            <li class="qk-pos--rel qk-pd--0">
834              
835                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/賞味泡芙">
836                  賞味泡芙
837                </a>
838              
839            </li>
840          
841        
842          
843          
844          
845            <li class="qk-pos--rel qk-pd--0">
846              
847                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/tart">
848                  檸檬塔/乳酪塔
849                </a>
850              
851            </li>
852          
853        
854          
855          
856          
857            <li class="qk-pos--rel qk-pd--0">
858              
859                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/經典餅乾">
860                  經典手工餅乾
861                </a>
862              
863            </li>
864          
865        
866          
867          
868          
869            <li class="qk-pos--rel qk-pd--0">
870              
871                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/精緻禮盒">
872                  精緻禮盒
873                </a>
874              
875            </li>
876          
877        
878          
879          
880          
881            <li class="qk-pos--rel qk-pd--0">
882              
883                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/果
883醬">
884                  果醬/花生醬
885                </a>
886              
887            </li>
888          
889        
890          
891          
892          
893            <li class="qk-pos--rel qk-pd--0">
894              
895                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/麵包貝果蛋糕點心">
896                  麵包/貝果/蛋糕/點心
897                </a>
898              
899            </li>
900          
901        
902          
903          
904          
905            <li class="qk-pos--rel qk-pd--0">
906              
907                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/經銷商品">
908                  經銷商品
909                </a>
910              
911            </li>
912          
913        
914      </ul>
915    </li>
916  
917
918  
919  
920  
921    <li class="qk-pos--rel qk-pd--0">
922      
923        <a class="qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/sale">這裡最優惠</a>
924      
925    </li>
926  
927
928  
929  
930  
931    <li class="qk-pos--rel qk-pd--0">
932      
933        <a class="qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/任12件89折">任12件89折</a>
934      
935    </li>
936  
937
938  
939  
940  
941    <li class="qk-pos--rel qk-pd--0">
942      
943        <a class="qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/精選咖啡">精選咖啡</a>
944      
945    </li>
946  
947
948  
949  
950  
951    <li class="qk-pos--rel qk-pd--0">
952      
953        <a class="qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/blogs/購物說明">販售點與購物說明</a>
954      
955    </li>
956  
957
958  
959  
960  
961    <li class="qk-pos--rel qk-pd--0">
962      
963        <a class="qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/blogs/news">最新動態</a>
964      
965    </li>
966  
967
968
969<script>
970  $('button a').on('click', function(e) {e.stopPropagation()});
971</script>
971
972
973<!-- cyb_snippet components/side_menu/menu end -->
974    
975  
976  
977    
978      <li class="category_account-title qk-bd--nav_menu_text qk-fs--breadcrumb qk-text--nav_menu_text qk-bd_y--default qk-fw--500">帳戶</li>
979      <li class="qk-pos--rel qk-pd--0">
980        <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none">
981          <a href="/account/index" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">我的帳戶</a>
982        </div>
983      </li>
984      <li class="qk-pos--rel qk-pd--0">
985        <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none">
986          <a href="/account/orders" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">訂單查詢</a>
987        </div>
988      </li>
989      <li class="qk-pos--rel qk-pd--0">
990        <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none">
991          <a href="/account/logout" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">會員登出</a>
992        </div>
993      </li>
994      <li class="qk-pos--rel qk-pd--0">
995        <a href="/account/login">
996          <div class="customer-not-login-menu qk-bd--nav_menu_text qk-bg--nav_menu_text customer-not-login-menu_login qk-display--il_flex qk-justify--center qk-align--center qk-w--100 qk-text--center ">
997            <span class="qk-text--nav_menu_bg qk-fw--500 qk-fs--body">
998              會員登入
999            </span>
1000          </div>
1001        </a>
1002      </li>
1003      <li class="qk-pos--rel qk-pd--0">
1004        <a href="/account/signup">
1005          <div class="customer-not-login-menu qk-bd--nav_menu_text customer-not-login-menu_signup qk-display--il_flex qk-justify--center qk-align--center qk-w--100 qk-text--center qk-bd--nav_menu_text qk-bd--default">
1006            <span class="qk-text--nav_menu_text qk-fs--body qk-fw--500">
1007              註冊新會員
1008            </span>
1009          </div>
1010        </a>
1011      </li>
1012    
1013    
1014    
1015    
1016  
1017</ul>
1018
1019<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/sidebar-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' />
1020
1021<script>
1022  $(document).ready(function(){
1023    // 側邊選單
1024    if ($('.drawer').length){
1025      $('.drawer').drawer();
1026      $('.bt-toggle').click(function(){
1027        setTimeout(function(){
1028          $('.drawer')[0].iScroll.refresh()
1029        },500)
1030      })
1031    }
1032  });
1033</script>
1033
1034
1035
1036<!-- cyb_snippet side_menu end -->
1037
1038        </div>
1039      </nav>
1040      <!-- Bottombar -->
1041      
1042    
1043  </span>
1044
1045<div id="index-popular-tags"></div>
1046
1047<style id="timer_color">
1048  :root {
1049    
1050      --timer_text: #c39d6f;
1051    
1052
1053    
1054      --timer_bg: #2b2b6e;
1055    
1056  }
1057</style>
1058
1059<script>
1060  window.language = {"account_name":"戶名","add_cart_error_try_again":"加入購物車有誤,請重新嘗試","add_to_cart":"加入購物車","addcart_rate_limit_desc":"秒後可再試一次,建議您停留在此頁面。","address1":"詳細退貨地址:路/å··/弄/樓","all_filters":"所有篩選條件","apply_fail":"申請失敗","apply_return":"退貨申請","apply_return_success":"您的退貨申請已成立","apply_success":"申請成功","arrive_soon":"即將到貨","articles_total":"共 {{ totalArticleCounts }} 篇文章","bank_account":"銀行帳號","bank_branch_name":"分行名稱","bonus_redemption":"紅利換購","cancel":"取消","cart_price_total":"結帳金額約","check_order":"訂單查詢","choose_branch_bank":"請選擇分行","choose_return_reason":"請選擇退貨原因","city":"城市","common_price":"定價: ","comply_group_number":"符合 {{comply_group_number}} 組優惠,","confirm":"確認","confirm_return":"申請退貨","confirm_submit":"送出","congratulations_for_verify_mobile_success":"恭喜,您已成功驗證您的手機!","contact_form":"聯絡我們","continue_reading":"繼續閱讀","country_placeholder":"請選擇國家","coupon_free_shipping":"免運券折抵","coupon_items":"優惠券折扣項目","date_error":"日期錯誤","default_sort":"預設排序","deliver_error":"寄送商品錯誤","discount_detail":"折扣明細","email":"電子郵件","email_placeholder":"請輸入您的電子郵件,例:[email protected]","enter_account_name":"請輸入戶名","enter_bank_account":"請輸入銀行帳號","enter_return_reason":"請填寫退貨原因...","error_message":"驗證簡訊發生錯誤,請稍後再試。","fail_operation":"操作失敗!","filter_button":"篩選","filter_no_result":"很抱歉,無商品符合篩選條件","free":"免費","gift_price":"加購價","gift_purchase":"滿額/件贈","go_check_email":"請至信箱收取信件","group_percent_discount":"組合內商品打{{discount}}折","has_stock":"尚有庫存 ","include_discount_and_shipping_fee":"含優惠折扣與運費","invalid_email":"這不是有效的電子郵件","invalid_name":"姓名為必填","invalid_phone_number":"聯絡電話為必填","invalid_question_content":"問題內容為必填","keep_shopping":"繼續購物","keyin_address1":"請填寫詳細退貨地址:路/å··/弄/樓","keyin_city":"請輸入城市","keyin_zip":"請輸入郵遞區號","less_then_one":"數量不得少於1","line_item_quantity":"數量:{{ lineItemQuantity }}","literal_points":"點","login_btn":"會員登入","mail_send_fail":"信件寄送失敗","message_confirmation_token_error":"簡訊驗證碼有誤","messenger_error_please_try_again":"簡訊寄送發生錯誤,請稍後再試。","mobile_number_error":"手機號碼有誤","name":"姓名","name_placeholder":"請輸入您的姓名","new_password_is_sent":"已送出新密碼","new_product_defect":"新品瑕疵","nn_collection_save_more_money_title":"可享,買 {{quantity}} ä»¶ {{price}} 元優惠","no_stock":"庫存不足","notification_enabled":"已登記補貨通知","notify_me_when_stock_arrives":"已售完,貨到通知我","onsale":"特價","order_date":"訂購日期","order_number":"訂單編號","order_retrun_confirm":"您確認要申請退貨?","ori_price":"原價","others":"其他","over_cart_limit":"數量超過購買上限","over_product_quantity":"數量超過庫存","over_stock_count":"商品庫存剩餘 {{ count }} ä»¶","over_stock_quantity":"超過庫存數量","phone_number":"聯絡電話","phone_number_placeholder":"請輸入聯絡電話","piece":"{{quantity}} ä»¶","please_choose_bank":"請選擇銀行","please_choose_product":"請選擇商品款式","please_choose_variant":"請選擇商品款式","please_enter_number":"請輸入數字","please_reselect":"請重新輸入篩選","please_send_and_confirm_verify_code":"請先發送並確認簡訊驗證碼","pre_order":"預購商品","price_asc":"價格由低到高","price_desc":"價格由高到低","price_filter":"價格","price_includes_tax":"(內含消費稅:{{ tax }})","product_content_defect":"商品內容不全","product_defect":"商品有缺陷","product_limit_buy":"此商品限購 {{ count }} ä»¶","product_rate_limit_btn":"重新進入商品頁","product_rate_limit_desc":"秒後可重新進入商品頁,建議您停留在此頁面。","product_rate_limit_title":"目前搶購人潮眾多,請耐心等候","product_rate_limit_warn":"若離開此頁面,可能會延長等待時間。","product_sold":"已銷售:{{ productSold }}","products_total":"共 {{ totalProductCounts }} 件商品","quantity":"數量:","quantity_over_product_stock":"數量超過商品庫存","question_content":"問題å
1060…§å®¹","question_content_placeholder":"請輸入問題內容","question_submit_fail":"發生問題,請稍後再試","question_submit_success":"問題已成功送出,我們將盡快與您聯繫","question_type":"問題類型","reached_favorable":"已達優惠","recent_days_sold_desc":"本週熱賣","reenter_password_still_error":"重複輸入密碼有誤","refund":"退款金額","refund_account":"退款帳戶","refund_info":"退款資訊","refund_invoice_check":"本人同意發票作廢或「營業人銷貨退回進貨退出貨或折讓證明單」將全權由{{ envoiceCompanyName }}處理,以利加速退款作業。如有退貨/折讓,將直接開立折讓單上傳至財政部電子發票整合服務平台存證。","resend_verify_code":"重發驗證碼","reset_all_filters":"清除所有篩選","reset_filter_button":"清除篩選","return":"返回","return_address":"退貨地址","return_email_notification":"退貨申請信已寄至您的信箱","return_info":"退貨資訊","return_instruction":"退貨說明","return_msg_Australia":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。\u003cbr\u003e 2. 收到退貨申請後,我們會聯繫您,並啟動退貨流程。如果您有任何退貨問題,您可以在【訂單查詢】,在選擇欲申請退貨的訂單明細,留下問答紀錄。 請不要自行退貨。\u003cbr\u003e 3. 退換貨時,請保持原包裝完整(包括購買的商品、配件、贈品等)。\u003cbr\u003e 4. 符合退貨資格後,商店會再依照您的付款方式退款。\u003cbr\u003e 5. 詳細的退貨規定與流程說明,請參閱本店的退貨政策。\u003cbr\u003e","return_msg_Japan":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。\u003cbr\u003e 2. 收到退貨申請後,我們會聯繫您,並啟動退貨流程。如果您有任何退貨問題,您可以在【訂單查詢】,在選擇欲申請退貨的訂單明細,留下問答紀錄。 請不要自行退貨。\u003cbr\u003e 3. 退換貨時,請保持原包裝完整(包括購買的商品、配件、贈品等)。\u003cbr\u003e 4. 符合退貨資格後,商店會再依照您的付款方式退款。\u003cbr\u003e 5. 詳細的退貨規定與流程說明,請參閱本店的退貨政策。\u003cbr\u003e","return_msg_Japan_to_Taiwan":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。\u003cbr\u003e 2. 收到退貨申請後,我們會聯繫您,並啟動退貨流程。如果您有任何退貨問題,您可以在【訂單查詢】,在選擇欲申請退貨的訂單明細,留下問答紀錄。 請不要自行退貨。\u003cbr\u003e 3. 退換貨時,請保持原包裝完整(包括購買的商品、配件、贈品等)。\u003cbr\u003e 4. 符合退貨資格後,商店會再依照您的付款方式退款。\u003cbr\u003e 5. 詳細的退貨規定與流程說明,請參閱本店的退貨政策。\u003cbr\u003e","return_msg_SEA":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。\u003cbr\u003e 2. 收到退貨申請後,我們會聯繫您,並啟動退貨流程。如果您有任何退貨問題,您可以在【訂單查詢】,在選擇欲申請退貨的訂單明細,留下問答紀錄。 請不要自行退貨。\u003cbr\u003e 3. 退換貨時,請保持原包裝完整(包括購買的商品、配件、贈品等)。\u003cbr\u003e 4. 符合退貨資格後,商店會再依照您的付款方式退款。\u003cbr\u003e 5. 詳細的退貨規定與流程說明,請參閱本店的退貨政策。\u003cbr\u003e","return_msg_Taiwan":"1. 收到商品後如有發現瑕疵或破損狀況,需要辦理或換貨,請於收到貨後7天內登入『我的帳戶』頁面點選『申請退貨』。\u003cbr\u003e 2. 收到商品後可享有7天免費鑑è³
1060žæœŸï¼ˆå«ä¾‹å‡æ—¥ï¼‰ã€‚退換貨時請保持原包裝商品的完整(包含購買商品,附件,贈品等)。\u003cbr\u003e 3. 收到申請後,我們將與您聯繫取回商品。若有任何退貨問題,您可以在『訂單明細』中,點選『我要詢問』,請勿自行寄回商品。\u003cbr\u003e 4. 當你申請退貨後,請列印本申請單隨商品一起寄回。\u003cbr\u003e 5. 收到您的退貨商品並審查通過後,將於7個工作天內退款至你的退款帳戶。\u003cbr\u003e","return_msg_USA":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。\u003cbr\u003e 2. 收到退貨申請後,我們會聯繫您,並啟動退貨流程。如果您有任何退貨問題,您可以在【訂單查詢】,在選擇欲申請退貨的訂單明細,留下問答紀錄。 請不要自行退貨。\u003cbr\u003e 3. 退換貨時,請保持原包裝完整(包括購買的商品、配件、贈品等)。\u003cbr\u003e 4. 符合退貨資格後,商店會再依照您的付款方式退款。\u003cbr\u003e 5. 詳細的退貨規定與流程說明,請參閱本店的退貨政策。\u003cbr\u003e","return_product":"退貨商品","return_reason":"退貨原因","save_more_money_discount":"可享 {{discount}} 折優惠","save_more_money_dollar":"可省 {{dollar}}","search_article_label":"文章搜尋結果 ({{ totalArticleCounts }})","search_no_result":"很抱歉,找不到 {{ queryString }} 請重新輸入搜尋。","search_product_label":"商品搜尋結果 ({{ totalProductCounts }})","search_total":"搜尋 {{ queryString }} 結果共 {{ totalSearchCount }} 筆","select_sort_by":"選擇排序方式","sell_from_asc":"上市日期舊到新","sell_from_desc":"上市日期新到舊","send_too_many_times_try_again_later":"發送次數過多,請稍後再試","sending_msg_few_minutes_get":"簡訊發送中,幾分鐘後您將收到驗證碼","shipping_fee":"運費","sold_out":"已售完","state_placeholder":"請選擇州/省","submit":"送出","subtotal":"小計","success_operation":"操作成功!","successfully_copy_tracking_number":"已成功複製你的物流單號","system_busy_try_again":"系統忙碌,請稍後再試","tax":"稅額","thanks_for_advise":"謝謝您的å¯
1060¶è²´æ„è¦‹","thanks_you_have_signed_up":"謝謝您已註冊","total_bonus_redemption":"總紅利換購點數","tw_city_placeholder":"請選擇縣市","tw_district_placeholder":"請選擇鄉鎮市區","unreach_favorable":"未達優惠","verification_error_please_correct":"驗證有誤請修正","verify_success":"驗證碼確認成功","view_product":"查看商品","vip_shipping_free":"VIP免運費","zip":"郵遞區號"}
1061  $(document).ready(function(){
1062    if(window.location.pathname != '' && window.location.pathname != '/' ){
1063      document.getElementById('index-popular-tags').style.display = 'none'
1064    }
1065    // 倒數計時
1066    
1067
1068    function adjustContentTop() {
1069      const offset = window.measureHeaderOffset();
1070      if (offset === null) return;
1071      $("body").css({ "padding-top": offset + "px" });
1072    }
1073
1074    window.adjustContentTop = adjustContentTop;
1075
1076    // navbar設定透明
1077    
1078
1079    // Call it first once DOM is ready to prevent CLS
1080    adjustContentTop();
1081
1082    // 延遲初始化,等待 app banner 初始化完成
1083    $(window).on("resize", adjustContentTop);
1084
1085    // 使用 setTimeout 確保 banner 狀態已經確定
1086    $(window).on("load", function() {
1087      setTimeout(function() {
1088        adjustContentTop();
1089      }, 200); // 給 banner 足夠時間初始化
1090    });
1091
1092    $('img.header_banner').on('load', adjustContentTop);
1093
1094    window.renderNavbarSection('.main_nav', {
1095        navbarCollections: null,
1096        navbarItems: [{"id":1765928,"title":"首頁","url":"/","item_type":"frontpage","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1779813,"title":"商品類別","url":"/collections/all1","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":[{"id":1903192,"title":"精選最優惠","url":"/collections/sale","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1779978,"title":"人氣泡芙","url":"/collections/人氣泡芙","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1779979,"title":"賞味泡芙","url":"/collections/賞味泡芙","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1969754,"title":"檸檬塔/乳酪塔","url":"/collections/tart","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1780318,"title":"經典手工餅乾","url":"/collections/經典餅乾","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1958812,"title":"精緻禮盒","url":"/collections/精緻禮盒","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1779981,"title":"果醬/花生醬","url":"/collections/果醬","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1939948,"title":"麵包/貝果/蛋糕/點心","url":"/collections/麵包貝果蛋糕點心","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1779987,"title":"經銷商品","url":"/collections/經銷商品","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null}]},{"id":1962915,"title":"這裡最優惠","url":"/collections/sale","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1904793,"title":"任12件89折","url":"/collections/任12件89折","item_type":"special_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1973411,"title":"精選咖啡","url":"/collections/精選咖啡","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1772991,"title":"販售點與購物說明","url":"/blogs/購物說明","item_type":"blog","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1772181,"title":"最新動態","url":"/blogs/news","item_type":"blog","subtitle":null,"icon_image_url":null,"menuItems":null}],
1097        settings: {
1098          menuDisplayStyle: "three_dimension_menu",
1099          pcLogoImgUrl: "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5NDUxMTUxX-WSluWVoeiJsumAj-aYjuW6lS5wbmcucG5nIl1d.png?sha=16fdb915aeb70f7b",
1100          mobileLogoImgUrl: "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5NDUxMTUxX-WSluWVoeiJsumAj-aYjuW6lS5wbmcucG5nIl1d.png?sha=16fdb915aeb70f7b",
1101          navbarDisplayStyle: "rowCenterNav",
1102        }
1103      }
1104    );
1105
1106
1107    // for link menu
1108    const linkMenuElement = document.querySelector('.link-nav');
1109    const data = []
1110    data.forEach((item) => {
1111      const wrapper = document.createElement('a');
1112      const link = document.createElement('ul');
1113
1114      wrapper.href = item.url;
1115      link.textContent = item.title;
1116      link.classList.add('link-item');
1117
1118      wrapper.appendChild(link);
1119      linkMenuElement.appendChild(wrapper);
1120    });
1121
1122    // for safe-area space on iOS devices
1123    const userAgent = navigator.userAgent;
1124    const isIOS = /iPad|iPhone|iPod/.test(userAgent) && !window.MSStream;
1125    const isLiff = /Line\/[\d.]+/i.test(userAgent);
1126    const $mobileBottomBar = $('#mobile-bottom-bar');
1127
1128    if ($mobileBottomBar.length && isIOS && isLiff) {
1129      $mobileBottomBar.addClass('is-ios-liff');
1130    }
1131  });
1132  document.addEventListener('DOMContentLoaded', function() {
1133    window.getCartAmount = function() {
1134      return parseInt($('.global-cart-count').html());
1135    };
1136  });
1137</script>
1137
1138
1139<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/navbar-e958d46bfee2e69f.js' type='text/javascript'></script>
vendor: 1 bytes, line 1139
1139
1140<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/currencies-e958d46bfee2e69f.js' type='text/javascript'></script>
1140
1141<!-- cyb_snippet i18n_modal start -->
1142
1143
1144<!-- cyb_snippet i18n_modal end -->
1145<!-- cyb_snippet _load_fonts start -->
1146<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/load_fonts-e958d46bfee2e69f.js' type='text/javascript'></script>
vendor: 1 bytes, line 1146
1146
1147<script>
1148  document.addEventListener('DOMContentLoaded', function() {
1149    window.loadFontSetting("{\"ja\":{\"value\":\"Noto Sans JP\"},\"zh-TW\":{\"value\":\"Noto Serif TC\"},\"en\":{\"value\":\"Noto Sans TC\"},\"zh-CN\":{\"value\":\"Noto Sans TC\"}}")
1150  })
1151</script>
1151
1152
1153<!-- cyb_snippet _load_fonts end -->
1154<!-- cyb_snippet _custom_icon start -->
1155<script src='//cdn-general.cybassets.com/frontend/shop/navIcon-e958d46bfee2e69f.js' type='text/javascript'></script>
1155
1156
1157<script>
1158  (function() {
1159    const iconUrlMap = new Map([
1160      ['custom_icon_type_home', "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NTEzX-mmlumggWljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=ca9695a5f4971a45"],
1161      ['custom_icon_type_tracking_items', "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NTI0X-aUtuiXj2ljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=99bdec6ef0f298ba"],
1162      ['custom_icon_type_account', "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYxODA5NTgyX-acg-WToWljb25hLnBuZy5wbmciXV0.png?sha=e513bfc18a8d91bd"],
1163      ['custom_icon_type_cart', "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NDk4X-izvOi7imljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=662e013f72b7115c"],
1164      ['custom_icon_type_search', "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NTA2X-aQnOWwi2ljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=5e15db7342f146c6"],
1165      ['custom_icon_type_menu', ""]
1166    ]);
1167    const elements = document.querySelectorAll('[data-icon-type]');
1168    elements.forEach((element, index) => {
1169      const iconAttributes = element.getAttribute('data-icon-type');
1170
1171      const uniqueId = `icon_${iconAttributes}_${index}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
1172      element.id = uniqueId;
1173      window.renderNavCustomIcon(`#${uniqueId}`, {
1174        navIconStyle: "icon_type_custom",
1175        customIconUrl: iconUrlMap.get(iconAttributes) || '',
1176        iconAttributes: iconAttributes,
1177        currentTemplate: "product",
1178      });
1179    });
1180  })();
1181</script>
1181
1182
1183<!-- cyb_snippet _custom_icon end -->
1184
1185
1186
1187    
1188  
1189    
1189<script src='//cdn-general.cybassets.com/frontend/shop/announcementBar-e958d46bfee2e69f.js' type='text/javascript'></script>
1189
1190
1191    
1192
1193    
1194
1195    
1195<script>
1196      $(document).ready(function() {
1197        window.renderAnnouncementBar('#announcement-bar', {
1198          sectionId: "announcement_bar",
1199          isIndex: false,
1200        });
1201      });
1202    </script>
1202
1203  
1204
1205
1206
1207
1208
1209    <!-- template -->
1210    <div id="template" style="flex:1 0 auto; background-color: var(--theme_bg);">
1211      <!-- cyb_snippet breadcrumb start -->
1212
1213<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/breadcrumb-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' />
1214
1215
1216<div id="site_path" class="qk-bd_b--default qk-bd--product_border">
1217  <!-- mobile: toggle button (hidden on PC) -->
1218  <div class="qk-container qk-hidden--pc">
1219    <div class="breadcrumb qk-bg--theme_bg qk-pd_x--0 qk-mg--0 qk-fs--breadcrumb">
1220      <button
1221        class="bt-toggle qk-bg--theme_bg qk-pd_x--0 qk-w--100 qk-text--left qk-bd--none qk-pos--rel collapsed"
1222        data-toggle="collapse"
1223        data-target=".breadcrumb-content"
1224      >
1225        <a href="/" class="qk-text--text">
1226          <i class="fas fa-home"></i>
1227        </a>
1228      </button>
1229    </div>
1230  </div>
1231  <!-- breadcrumb nav: single DOM, PC always visible, mobile as collapse dropdown -->
1232  <div class="breadcrumb-content qk-bg--theme_bg collapse">
1233    <div class="qk-container">
1234      <!-- cyb_snippet breadcrumb_nav start -->
1235<!-- 主題版型麵包屑 -->
1236<nav aria-label="breadcrumb">
1237  <ol
1238    class="breadcrumb qk-bg--theme_bg qk-pd_x--0 qk-mg--0 qk-fs--breadcrumb"
1239    itemscope
1240    itemtype="http://schema.org/BreadcrumbList"
1241  >
1242    
1243      <li
1244        class="breadcrumb-item
1245        
1246        "
1247        itemprop="itemListElement"
1248        itemscope itemtype="http://schema.org/ListItem">
1249        <!-- home -->
1250        
1251          <a href="/" class="qk-text--text" itemprop="item">
1252            <i class="fas fa-home"></i>
1253            <span class="qk-display--none" itemprop="name">首頁</span>
1254          </a>
1255        <!-- account -->
1256        
1257        <meta itemprop="position" content="1"/>
1258      </li>
1259    
1260      <li
1261        class="breadcrumb-item
1262        
1263          qk-display--none
1264        
1265        "
1266        itemprop="itemListElement"
1267        itemscope itemtype="http://schema.org/ListItem">
1268        <!-- home -->
1269        
1270          
1271            <a href="#" itemprop="item" style="display: none;">
1272              <span itemprop="name">商品</span>
1273            </a>
1274          
1275          
1276        <!-- product -->
1277        
1278        <meta itemprop="position" content="2"/>
1279      </li>
1280    
1281      <li
1282        class="breadcrumb-item
1283        
1284         active "
1285        itemprop="itemListElement"
1286        itemscope itemtype="http://schema.org/ListItem">
1287        <!-- home -->
1288        
1289          <a href="/products/999910002" class="qk-text--text" itemprop="item">
1290            <span itemprop="name">鋁箔手提保冷禮袋</span>
1291          </a>
1292        <!-- search -->
1293        
1294        <meta itemprop="position" content="3"/>
1295      </li>
1296    
1297  </ol>
1298</nav>
1299<script>
1300  $(document).ready(function () {
1301    if (!window.liquidHelper || !window.liquidHelper.hasBreadcrumbReferrerEnabled) return;
1302
1303    var $collections = $('[data-breadcrumb-links]');
1304    if (!$collections.length) return;
1305
1306    var refMatch = document.referrer.match(/\/collections\/([^/?#]+)/);
1307    if (!refMatch || refMatch[1] === 'all') return;
1308
1309    var referrerHandle = decodeURIComponent(refMatch[1]);
1310
1311    function getCollectionHandle(url) {
1312      if (!url) return null;
1313      try {
1314        var pathname = new URL(url, location.origin).pathname;
1315        var parts = pathname.split('/');
1316        var idx = parts.indexOf('collections');
1317        if (idx === -1 || !parts[idx + 1]) return null;
1318        return decodeURIComponent(parts[idx + 1]);
1319      } catch (e) {
1320        return null;
1321      }
1322    }
1323
1324    var $link = $collections.find('a').filter(function () {
1325      return getCollectionHandle(this.href) === referrerHandle;
1326    });
1327
1328    if ($link.length) {
1329      $collections.siblings('a.qk-text--accent[href="#"]').remove();
1330      $collections.empty().append($link);
1331    }
1332  });
1333</script>
1333
1334
1335<!-- cyb_snippet breadcrumb_nav end -->
1336    </div>
1337  </div>
1338</div>
1339
1340
1341<!-- cyb_snippet breadcrumb end -->
1342
1343<div id="img"></div>
1344
1345
1346
1347
1348
1349<script>
1350  var gallery_img = undefined;
1351  document.addEventListener("DOMContentLoaded", function(){
1352    gallery_img = renderGallery(
1353      '#img',
1354      {
1355        urls: ["//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfYjM5ZjBlMzk0ZDc4MWU2YTIzZGYuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=2a9335d15e9abcda","//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQyNTg0MTlfODZlYTc0YmRkNDEwMTRjNTU1ZWEuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=ffbbb460ca8c137a","//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfZDBhYzE3MTk3NTUzODRiZTI3ZGEuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=0ecc144dc31b1daf","//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQyNTkyMTRfMzhmMTM4ZGZkYjAzYTY0MTRkNTQuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=ed33db4dd257ce0e"],
1356        onSwiperGalleryChange: function (payload) {
1357          var eventPayload = Object.assign({ galleryName: "img" }, payload);
1358          $(document).trigger('swiper-gallery-change', [eventPayload]);
1359        },
1360      },
1361    );
1362  });
1363</script>
1363
1364
1365<div id="product" class="product">
1366  <div class="qk-container">
1367    
1368
1369
1370
1371
1372
1373
1374 
1375
1376<div id="product_info" class="product_info qk-display--grid" data-purchase-eligibility='{"required":false,"eligible":true,"status":"eligible"}' data-hide-price="false" data-sales-mode-purchasable="true">
1377  <!-- product image start -->
1378  <div id="variant_photos" class="variant_photos">
1379    
1380    
1381    
1382    
1383    <variant-photos-block
1384      :product-photos-json="'[{\'id\':37799069,\'imageUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfYjM5ZjBlMzk0ZDc4MWU2YTIzZGYuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e5035eca4d1205f4\',\'imageMaxUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfYjM5ZjBlMzk0ZDc4MWU2YTIzZGYuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=2a9335d15e9abcda\'}, {\'id\':37822552,\'imageUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQyNTg0MTlfODZlYTc0YmRkNDEwMTRjNTU1ZWEuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=2b4e63adbd65f8d0\',\'imageMaxUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQyNTg0MTlfODZlYTc0YmRkNDEwMTRjNTU1ZWEuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=ffbbb460ca8c137a\'}, {\'id\':37799071,\'imageUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfZDBhYzE3MTk3NTUzODRiZTI3ZGEuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=869bb01de2b8ebc0\',\'imageMaxUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfZDBhYzE3MTk3NTUzODRiZTI3ZGEuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=0ecc144dc31b1daf\'}, {\'id\':37822965,\'imageUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQyNTkyMTRfMzhmMTM4ZGZkYjAzYTY0MTRkNTQuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=bd86a19c24955afe\',\'imageMaxUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQyNTkyMTRfMzhmMTM4ZGZkYjAzYTY0MTRkNTQuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=ed33db4dd257ce0e\'}]'"
1385      :display-product-images-color=false
1386      :product-id="69561326"
1387      product-title="鋁箔手提保冷禮袋"
1388      
1389        :product-video={"id":null,"url":null}
1390        video-display-location="after"
1391      
1392    />
1393  </div>
1394  <!-- product image end -->
1395  <!-- product content start -->
1396  <div id="product_content" class="product_content qk-display--flex" data-tracking-variant-ids="null">
1397    
1398    <!-- 標題 -->
1399    <div class="product_title">
1400      <h1 class="qk-text--heading qk-fs--hd1 qk-fw--bold qk-mg--0">鋁箔手提保冷禮袋</h1>
1401    </div>
1402    
1403    <!-- ç°¡è¿° -->
1404    
1405      <div class="product_brief qk-text--text qk-fs--body">
1406        全站任選2件商品<br>購物車結帳時可以$10加購<br>網路下單限定
1407      </div>
1408    
1409    <!-- 廠商,標語 -->
1410    <div class="product_vendor_slogan qk-display--il_bk qk-align--center">
1411      
1412      
1413        <span class="product_slogan qk-text--heading qk-fs--body">送禮、自用保冷保熱都實用</span>
1414      
1415    </div>
1416    <!-- 商品售價 -->
1417    
1418    
1419    
1420    <div
1421      class="product_price"
1422      id="price_title"
1423      data-discount-price-name=""
1424      data-discount-price-suggestion-name="">
1425      <!-- 價格title -->
1426      
1427        
1428          <span class="title qk-text--heading qk-fs--body qk-display--bk"></span>
1429        
1430      
1431
1432      <!-- 商品價格 -->
1433      <div class="qk-display--il_bk">
1434        <span class="qk-text--price price qk-fs--hd1 qk-fw--bold qk-display--il_bk qk-vert--mid"><span class="money_tag" data-currency-from="TWD" data-amount="15.0">NT$15</span></span>
1435      </div>
1436      <del class="qk-text--text qk-fs--body qk-pd_l--05 qk-display--il_bk qk-vert--mid"></del>
1437
1438      <!--會員可見價-->
1439      
1440    </div>
1441    
1442    <!-- 商品sku -->
1443    
1444    <!-- 供貨狀況 -->
1445    
1446
1447    <!-- 商品款式 -->
1448    <div id="variant_options" class="variant_options">
1449      <variant-options-block
1450        :product-api-url="'/products/999910002'"
1451        :sku="sku"
1452        :auto-select-variant-by-sku="true"
1453        :hide-other-variants-by-sku="false"
1454        :hide-single-variant-options="false"
1455        :sales-mode-purchasable="true"
1456        default-price="NT$15"
1457        default-compare-price=""
1458        :default-discounted="false"
1459        @set-choose="getSelectedDatas"
1460        @get-option-image="getCurrentImage"></variant-options-block>
1461    </div>
1462
1463    <div id="product-tags"></div>
1464
1465    <!-- product discounts_list start -->
1466    <div class="product_discounts_list force-show-scrollbar hide qk-bd--default qk-bd--product_border qk-pd--1 qk-of_y--auto qk-of_x--hidden  hide ">
1467      <div class="list_block custom-scrollbar qk-of_x--hidden">
1468        <p class="qk-text--heading qk-fs--body qk-mg_b--05">此商品參與的優惠活動</p>
1469        
1470          
1471        
1472      </div>
1473    </div>
1474    <!-- product discounts_list end -->
1475
1476    <!-- 規格,數量 -->
1477    
1478      <div class="product_variant_quantity">
1479        <span class="product_quantity">
1480          <div
1481            class="btn-group"
1482            role="group"
1483            aria-label="First group">
1484            <button class="btn add-down qk-bd--product_border" type="button"></button>
1485            <input
1486              class="btn item-quantity qk-text--heading qk-bd--product_border"
1487              type="text"
1488              name="quantity"
1489              value="1"
1490              data-old-value="1">
1491            <button class="btn add-up qk-bd--product_border" type="button"></button>
1492          </div>
1493        </span>
1494      </div>
1495
1496    <!-- 購買按鈕 -->
1497      <div class="product_button qk-display--flex qk-hidden--mobile">
1498        <!-- cyb_snippet _product_info_button start -->
1499<button class="btn addToCart btn_to_cart qk-btn qk-text--button qk-bd--button qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"
1500  data-brand=""
1501  data-id="69561326"
1502  data-category=""
1503  data-list="單產品細覽"
1504  data-name="鋁箔手提保冷禮袋"
1505  data-quantity="1"
1506  data-position="全頁"
1507  
1508  data-ga-custom-dimension=""
1509  data-ga-custom-value=""
1510  data-sku="999910002">加入購物車</button>
1511<button class="btn addToCart btn-quick_buy qk-btn qk-btn--primary qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button" data-buy="quick_buy"
1512  data-brand=""
1513  data-id="69561326"
1514  data-category=""
1515  data-list="單產品細覽"
1516  data-name="鋁箔手提保冷禮袋"
1517  data-quantity="1"
1518  data-position="全頁"
1519  
1520  data-ga-custom-dimension=""
1521  data-ga-custom-value=""
1522  data-sku="999910002"><span>立即購買</span></button>
1523
1524<!-- cyb_snippet _product_info_button end -->
1525        <!-- cyb_snippet _product_info_status_button start -->
1526<button class="btn btn_not_sale hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button">
1527  尚未開賣
1528</button>
1529<button class="btn btn_login_to_view hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button">
1530  登入查看資格
1531</button>
1532<button class="btn btn_not_eligible hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button">
1533  購買資格不符
1534</button>
1535<!-- cyb_snippet _product_info_status_button end -->
1536        
1537          <button class="btn btn_notice hidden qk-btn qk-btn--primary qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button">
1538            已售完,貨到通知我
1539          </button>
1540        
1541        <button class="btn btn_soldout hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button">
1542          已售完
1543        </button>
1544        <button
1545          class="btn buy-together hidden qk-btn qk-text--button qk-bd--button qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title"
1546          type="button"
1547          data-brand=""
1548          data-id="69561326"
1549          data-category=""
1550          data-list="單產品細覽"
1551          data-name="鋁箔手提保冷禮袋"
1552          data-quantity="1"
1553          data-position="全頁"
1554          
1555          data-ga-custom-dimension=""
1556          data-ga-custom-value=""
1557          data-sku="999910002">同時加購物車</button>
1558        <button
1559          class="btn buy-together hidden qk-btn qk-btn--primary qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title"
1560          type="button"
1561          data-buy="quick_buy"
1562          data-brand=""
1563          data-id="69561326"
1564          data-category=""
1565          data-list="單產品細覽"
1566          data-name="鋁箔手提保冷禮袋"
1567          data-quantity="1"
1568          data-position="全頁"
1569          
1570          data-ga-custom-dimension=""
1571          data-ga-custom-value=""
1572          data-sku="999910002">同時購買</button>
1573      </div>
1574    
1575      <div class="product_button_mobile qk-display--flex qk-align--center qk-hidden--pc">
1576        <span class="product_love_mobile qk-display--il_bk">
1577          <input
1578            type="hidden"
1579            class="product-variant-id"
1580            value="84890442"
1581            data-sku="999910002"
1582            
1583              data-price="15.0"
1584              data-compare_at_price="15.0"
1585            
1586            data-variant=""
1587            data-inventory_quantity="1401">
1588          <a
1589            class="btn_love scupio-add-wishlist qk-text--text qk-fs--body qk-cursor--pointer"
1590            data-itemid="999910002"
1591            
1592          >
1593          <div data-icon-type="custom_icon_type_tracking_items" ></div>
1594
1595          </a>
1596        </span>
1597        
1598          <div class="cart qk-text--center qk-pd_x--05 qk-pd_y--0">
1599            <a href="/cart" class="qk-display--il_flex qk-flex--row qk-justify--center qk-align--center qk-vert--mid qk-pos--rel">
1600              <div data-icon-type="custom_icon_type_cart" ></div>
1601
1602              <span class="number global-cart-count qk-circle qk-circle--sm qk-bg--accent qk-text--white qk-text--center qk-vert--mid qk-pos--abs" style="display: none;">0</span>
1603            </a>
1604          </div>
1605          <!-- cyb_snippet _product_info_button_mobile start -->
1606<button
1607  class="btn addToCart_mobile btn_to_cart_mobile open_product_modal qk-btn qk-flex--1 qk-fs--title qk-text-truncate qk-bd--button qk-text--button"
1608  data-handle="999910002">
1609  加入購物車</button>
1610<button
1611  class="btn addToCart_mobile btn_quick_buy_mobile open_quick_buy_modal qk-btn qk-btn--primary qk-flex--1 qk-fs--title qk-text-truncate"
1612  data-handle="999910002">
1613  立即購買</button>
1614
1615<!-- cyb_snippet _product_info_button_mobile end -->
1616          <!-- cyb_snippet _product_info_status_button start -->
1617<button class="btn btn_not_sale hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button">
1618  尚未開賣
1619</button>
1620<button class="btn btn_login_to_view hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button">
1621  登入查看資格
1622</button>
1623<button class="btn btn_not_eligible hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button">
1624  購買資格不符
1625</button>
1626<!-- cyb_snippet _product_info_status_button end -->
1627          
1628            <button class="btn btn_notice btn_notice_mobile hidden qk-btn qk-btn--primary qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button">
1629              已售完,貨到通知我
1630            </button>
1631          
1632          <button class="btn btn_soldout hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button">
1633            已售完
1634          </button>
1635          <button
1636            class="btn buy-together hidden qk-btn qk-flex--1 qk-fs--title qk-bd--button qk-text--button"
1637            type="button"
1638            data-brand=""
1639            data-id="69561326"
1640            data-category=""
1641            data-list="單產品細覽"
1642            data-name="鋁箔手提保冷禮袋"
1643            data-quantity="1"
1644            data-position="全頁"
1645            
1646            data-sku="999910002">同時加購物車</button>
1647          <button
1648            class="btn buy-together hidden qk-btn qk-btn--primary qk-flex--1 qk-fs--title"
1649            type="button"
1650            data-buy="quick_buy"
1651            data-brand=""
1652            data-id="69561326"
1653            data-category=""
1654            data-list="單產品細覽"
1655            data-name="鋁箔手提保冷禮袋"
1656            data-quantity="1"
1657            data-position="全頁"
1658            
1659            data-sku="999910002">同時購買</button>
1660        
1661      </div>
1662      
1663      
1664      
1665      
1666      
1667    <!-- 加入最愛,銷售數量,紅利折抵 -->
1668    <div class="product_others qk-display--flex qk-flex--wrap qk-align--center">
1669      <span class="product_love qk-display--il_bk qk-hidden--phone">
1670        <input
1671          type="hidden"
1672          class="product-variant-id"
1673          value="84890442"
1674          data-sku="999910002"
1675          
1676            data-price="15.0"
1677            data-compare_at_price="15.0"
1678          
1679          data-variant=""
1680          data-inventory_quantity="1401">
1681        <a
1682          class="btn_love scupio-add-wishlist qk-text--text qk-fs--body qk-bd--default qk-bd--product_border qk-cursor--pointer qk-display--flex qk-align--center"
1683          data-itemid="999910002"
1684          
1685        >
1686          <svg
1687            width="15"
1688            height="15"
1689            viewBox="0 0 24 24"
1690            fill="none"
1691            xmlns="http://www.w3.org/2000/svg">
1692            <path
1693              d="M21.3899 4.54287C20.8146 4.01265 20.1366 3.60344 19.3969 3.34002C18.6572 3.0766 17.8711 2.96444 17.0863 3.01034C16.5593 3.01219 16.0362 3.09923 15.5375 3.26802C15.0194 3.44412 14.5265 3.68572 14.071 3.98682C13.6676 4.25092 13.2787 4.53613 12.906 4.84124C12.5762 5.09996 12.2648 5.38092 11.974 5.6821C11.6833 5.38092 11.3719 5.09996 11.042 4.84124C10.6516 4.53452 10.2443 4.24928 9.82221 3.98682C9.3967 3.69278 8.93642 3.45138 8.45163 3.26802C7.93995 3.0948 7.40254 3.0077 6.86175 3.01034C6.07688 2.96365 5.2906 3.07544 4.55076 3.3389C3.81091 3.60236 3.13296 4.01199 2.55813 4.54287C2.02401 5.11052 1.61146 5.77922 1.3453 6.50873C1.07914 7.23825 0.964875 8.01351 1.00937 8.78786C1.01359 9.36893 1.11073 9.94569 1.29719 10.4967C1.45989 11.0166 1.68054 11.517 1.95507 11.9886C2.20373 12.4073 2.47838 12.8104 2.77742 13.1956C3.09266 13.5889 3.32566 13.8601 3.46271 14.0093C3.56921 14.1255 3.6837 14.2343 3.80536 14.3348L11.4395 21.7669C11.5066 21.8412 11.5891 21.9002 11.6813 21.94C11.7736 21.9798 11.8734 21.9994 11.974 21.9975C12.0836 22.0067 12.1938 21.9906 12.296 21.9506C12.3983 21.9106 12.4898 21.8477 12.5634 21.7669L20.1838 14.3484C21.8272 12.9359 22.8376 10.9363 22.9935 8.78786C23.0307 8.0097 22.9078 7.23217 22.6321 6.50246C22.3565 5.77274 21.9339 5.10606 21.3899 4.54287V4.54287Z"
1694              stroke="currentColor"
1695              stroke-width="2"
1696              stroke-linecap="round"
1697              stroke-linejoin="round" />
1698          </svg>
1699          加入最愛
1700        </a>
1701      </span>
1702      
1703      <span
1704        class="product_bonus qk-text--text qk-fs--body qk-display--il_bk"
1705        >
1706        此商品 「 最高 」可以折抵紅利
1707        <span class="val">0</span>
1708        點
1709        
1710        (約等於 <span class="money_tag" data-currency-from="TWD" data-amount="0">NT$0</span> )
1711      </span>
1712    </div>
1713  </div>
1714  <!-- product content end -->
1715</div>
1716<div class="add-buy-products-container">
1717  <!-- cyb_snippet add_buy_products start -->
1718
1719
1720
1721
1722<!-- cyb_snippet add_buy_products end -->
1723
1724</div>
1725
1726<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/cart-e958d46bfee2e69f.js' type='text/javascript'></script>
vendor: 1 bytes, line 1726
1726
1727<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/product_variant-e958d46bfee2e69f.js' type='text/javascript'></script>
1727
1728<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/product-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' />
1729<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/product_info-e958d46bfee2e69f.js' type='text/javascript'></script>
1729
1730
1731<!-- cyb_snippet new_addcart_modal start -->
1732<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/vue_product_modal-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' />
1733
1734<div id="new-addcart-modal" class="container">
1735  <transition name="modal">
1736    <product-modal
1737      v-if="showProductModal"
1738      :only-description="onlyDescription"
1739      :product-url="popProductUrl"
1740      :color="color"
1741      :is-collection="isCollection"
1742      :is-show-description="isShowDescription"
1743      :is-quick-buy="isQuickBuy"
1744      :selected-variant-id="selectedVariantId"
1745      :categories="categories"
1746      :call-back="checkoutAddToCartCallback"
1747      ref="productModal"
1748    >
1749    </product-modal>
1750  </transition>
1751</div>
1752
1753<!-- cyb_snippet components/product_modal/product_modal start -->
1754<script type="text/x-template" id="product-modal">
1755  <div class="modal-mask qk-h--100 qk-w--100 qk-l--0 qk-t--0 qk-pos--fixed" @click="closeModal">
1756    <div class="modal-content qk-bd--none qk-center qk-bg--theme_bg" :class="{'only-description': onlyDescription}" @click.stop>
1757      <button class="btn-close qk-circle qk-circle--md qk-pos--abs qk-op--100 qk-bg--theme_bg qk-text--heading qk-bd--product_border qk-bd--default" @click="closeModal"></button>
1758      <div class="modal-body custom-scrollbar qk-w--100">
1759        <div v-if="!isLoading">
1760          <div id="checkout-product" class="row">
1761            <div class="col-sm-6 col-xs-4">
1762              <photo-swiper
1763                :mediaItems="swiperItems"
1764                :current-image-index="currentImageIndex"
1765                :current-variant="currentVariant"
1766                :video-after-image="videoAfterImage"
1767              ></photo-swiper>
1768            </div>
1769            <div class="col-sm-6 col-xs-8">
1770              <h4 class="qk-fs--hd2 qk-fw--bold qk-text--heading qk-mg--0" v-html="product.title"></h4>
1771              <p class="product_brief qk-text--text qk-fs--body" v-html="product.brief"></p>
1772              <p class="product_slogan qk-text--heading qk-fs--body" v-html="product.slogan"></p>
1773              <div class="swiper_thumbnails" style="margin-bottom: 10px;">
1774                <swiper-thumbnails
1775                  :mediaItems="swiperItems"
1776                  :current-image-index="currentImageIndex"
1777                  :title="product.title"
1778                  @update-current-image-index="(thumbnailIndex) => { currentImageIndex = thumbnailIndex }"
1779                ></swiper-thumbnails>
1780              </div>
1781              
1782              <div v-if="!hidePrice" style="margin-bottom: 10px;">
1783                
1784                <span class="price-title qk-fs--body qk-fw--500 qk-text--heading">${ priceTitleTag }</span>
1785                
1786                <div>
1787                  <span v-html="variantPrice" class="variant-price qk-fs--hd1 qk-fw--bold" :class="[isDiscountPrice ? 'qk-text--discount_price' : 'qk-text--price']"></span>
1788                  <del v-html="marketPrice" class="variant-del-price qk-fs--body qk-fw--500 qk-text--text"></del>
1789                </div>
1790              </div>
1791              <div v-if="!onlyDescription" class="controls">
1792                <div class="variant-quantity qk-display--flex qk-flex--column">
1793                  <div v-if="hasVariant" class="product-variant-options">
1794                    <div v-for="(option, index) in optionInfo" class="product-variant-option" :class="{'product-variant-option--hidden': shouldHideSingleVariantOptions}">
1795                      <div class="advance variant-select-option" v-if="styledShopMenu==='dropDownType'">
1796                      
1797                        <label>${option.name}</label>
1798                        <svg height="20" width="20" viewBox="0 0 20 20" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><path d="M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"> </path></svg>
1799                        <select class="qk-bg--theme_bg" :class="{'select_placeholder-color': currentOption[`option${index + 1}`] === null}" v-show="!isMobileSize" :value="String(currentOption[`option${index + 1}`])" @change="setOption(`option${index + 1}`, $event.target.value, option.types )" @click="onClickSelectModal(option,`option${index + 1}`)">
1800                          <option value="null" class="select_option-hidden">請選擇${option.name}</option>
1801                          <option :style="{ visibility : isMobileSize ? 'hidden' : 'visible' }" v-for="(types) in option.types" :disabled="!types.isValid" :value="types.name">${types.name}</option>
1802                        </select>
1803                        <span class="select_placeholder-color" v-if="currentOption[`option${index + 1}`] === null" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)">請選擇${option.name}</span>
1804                        <span v-else :value="currentOption[`option${index + 1}`]" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)" v-html="currentOption[`option${index + 1}`]"></span>
1805                      </div>
1806                      <advance-option v-else :option-key="'option' + (index + 1)" :option="option" :current-option="currentOption" :toggle-current-option="toggleCurrentOption"/>
1807                    </div>
1808                  </div>
1809                  <div class="product_discounts_list qk-bg--theme_bg qk-bd--default qk-bd--product_border qk-pd--1 qk-mg_b--1" v-show="displayProductDiscountsList && ((displayPeriodicSalesPages && product.showableSalesPages.length > 0) || !!discountsList)">
1810                    <div class="list_block custom-scrollbar qk-of_x--hidden">
1811                      <h4 class="qk-text--heading qk-fs--body">此商品參與的優惠活動
1812                      </h4>
1813                      <template v-if="displayPeriodicSalesPages">
1814                        <div v-for="salesPage in product.showableSalesPages" class="discount-list">
1815                          <span class="discount-label qk-fs--breadcrumb qk-bd--default qk-bd--accent qk-bg--white qk-display--il_bk qk-text--accent">定期定額
1816                          </span>
1817                          <a class="discount-title qk-text--accent qk-fs--body" :href="salesPage.path">${ salesPage.title }</a>
1818                        </div>
1819                      </template>
1820                      <template v-for="discounts in discountsList">
1821                        <div v-for="discount in discounts" class="discount-list">
1822                          <a v-if="discount.url" :href="discount.url" class="discount-title qk-text--accent qk-fs--body">
1823                            ${ discount.title }
1824                          </a>
1825                          <span v-else class="discount-title qk-text--accent qk-fs--body">${ discount.title }</span>
1826                        </div>
1827                      </template>
1828                    </div>
1829                  </div>
1830                  <div v-if="showPurchaseControls" class="product-quantity qk-bd--product_border" v-show="!isMobileSize">
1831                    <div class="btn-group qk-w--100" role="group" aria-label="First group">
1832                      <button class="btn add-down qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityDecrease">-</button>
1833                      <input class="btn item-quantity qk-bd--default qk-bd--border qk-w--100 qk-text--heading" type="text" name="quantity" :value="quantity" @change="quantityChange">
1834                      <button class="btn add-up qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityIncrease">+</button>
1835                    </div>
1836                  </div>
1837                </div>
1838                <div v-if="showPurchaseControls" class="add-button-wrapper">
1839                  <!-- cyb_snippet _product_modal_button start -->
1840<button
1841  class="btn btn-default add-button qk-cursor--pointer qk-w--100 qk-btn--primary"
1842  :class="{selected: isChoose, adding: adding || isHideAddCartBtn, secondary: isSecondaryBtn, 'qk-btn--disabled': isHideAddCartBtn && isNewNnCollection, 'qk-bd--none': isHideAddCartBtn && isNewNnCollection}"
1843  type="button"
1844  :disabled="isHideAddCartBtn"
1845  @click="addProduct"
1846>
1847  ${ addCartText }
1848</button>
1849
1850<!-- cyb_snippet _product_modal_button end -->
1851                </div>
1852                <div class="product-others qk-fs--body">
1853                  <span class="product-love">
1854                    <a class="btn-love qk-text--text qk-bg--theme_bg qk-bd--default qk-bd--product_border qk-display--il_bk qk-text--center qk-cursor--pointer qk-tst qk-tst_timing--ease_io qk-tst_dur--15" @click="addWishList">
1855                      <svg
1856                        width="15"
1857                        height="15"
1858                        viewBox="0 0 24 24"
1859                        fill="none"
1860                        xmlns="http://www.w3.org/2000/svg">
1861                        <path
1862                          d="M21.3899 4.54287C20.8146 4.01265 20.1366 3.60344 19.3969 3.34002C18.6572 3.0766 17.8711 2.96444 17.0863 3.01034C16.5593 3.01219 16.0362 3.09923 15.5375 3.26802C15.0194 3.44412 14.5265 3.68572 14.071 3.98682C13.6676 4.25092 13.2787 4.53613 12.906 4.84124C12.5762 5.09996 12.2648 5.38092 11.974 5.6821C11.6833 5.38092 11.3719 5.09996 11.042 4.84124C10.6516 4.53452 10.2443 4.24928 9.82221 3.98682C9.3967 3.69278 8.93642 3.45138 8.45163 3.26802C7.93995 3.0948 7.40254 3.0077 6.86175 3.01034C6.07688 2.96365 5.2906 3.07544 4.55076 3.3389C3.81091 3.60236 3.13296 4.01199 2.55813 4.54287C2.02401 5.11052 1.61146 5.77922 1.3453 6.50873C1.07914 7.23825 0.964875 8.01351 1.00937 8.78786C1.01359 9.36893 1.11073 9.94569 1.29719 10.4967C1.45989 11.0166 1.68054 11.517 1.95507 11.9886C2.20373 12.4073 2.47838 12.8104 2.77742 13.1956C3.09266 13.5889 3.32566 13.8601 3.46271 14.0093C3.56921 14.1255 3.6837 14.2343 3.80536 14.3348L11.4395 21.7669C11.5066 21.8412 11.5891 21.9002 11.6813 21.94C11.7736 21.9798 11.8734 21.9994 11.974 21.9975C12.0836 22.0067 12.1938 21.9906 12.296 21.9506C12.3983 21.9106 12.4898 21.8477 12.5634 21.7669L20.1838 14.3484C21.8272 12.9359 22.8376 10.9363 22.9935 8.78786C23.0307 8.0097 22.9078 7.23217 22.6321 6.50246C22.3565 5.77274 21.9339 5.10606 21.3899 4.54287V4.54287Z"
1863                          stroke="currentColor"
1864                          stroke-width="2"
1865                          stroke-linecap="round"
1866                          stroke-linejoin="round" />
1867                      </svg>
1868                      加入最愛
1869                    </a>
1870                  </span>
1871                  <span class="product_sold qk-text--text" v-if="false">
1872                    <span>已銷售:
1873                      ${ product.totalSold }
1874                      ä»¶
1875                    </span>
1876                  </span>
1877                  <span class="product_bonus qk-text--text" v-if="true">
1878                    此商品 「 最高 」可以折抵紅利
1879                    <span class="val qk-fw--600 qk-fs--hd2" v-if="currentVariant">${currentVariant.maxUsableBonus}</span>
1880                    <span class="val qk-fw--600 qk-fs--hd2" v-else>${maxUsableBonus}</span>
1881                    點
1882                    <span v-html="bonusToPrice"/>
1883                  </span>
1884                </div>
1885                <div class='product_limit_buy qk-fs--body' v-show="product.minBuy > 0 || product.limitBuy > 0">
1886                  ${limitBuyText}
1887                </div>
1888              </div>
1889            </div>
1890          </div>
1891          <div v-if="isShowDescription" class="row">
1892            <div class="col-sm-12">
1893              
1894                <div v-if="product.bodyHtml">
1895                  <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading">
1896                    商品介紹
1897                  </h5>
1898                  <div class="ckeditor">
1899                    <div v-html="product.bodyHtml"></div>
1900                  </div>
1901                </div>
1902              
1903              
1904                <div v-if="otherDescriptions['product_description_section_spec']">
1905                  <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading">
1906                    商品規格
1907                  </h5>
1908                  <div class="ckeditor">
1909                    <div v-html="otherDescriptions['product_description_section_spec']"></div>
1910                  </div>
1911                </div>
1912              
1913              
1914            </div>
1915          </div>
1916        </div>
1917        <div v-show="isLoading" style="text-align: center; padding-bottom: 20px;">
1918          <i class="fas fa-spinner fa-spin fa-fw fa-2x"></i>
1919        </div>
1920      </div>
1921        <!-- cyb_snippet _product_modal_button_mobile start -->
1922 <div
1923  v-if="showPurchaseControls"
1924  v-show="isMobileSize"
1925  class="mobile_footer"
1926  :class="{'mobile_footer-z': variantSize > 1 }">
1927        <div class="product-quantity">
1928          <div class="btn-group qk-w--100" role="group" aria-label="First group">
1929            <button class="btn add-down qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityDecrease">-</button>
1930            <input class="btn item-quantity qk-bd--default qk-bd--border qk-w--100 qk-text--heading" type="text" name="quantity" :value="quantity" @change="quantityChange">
1931            <button class="btn add-up qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityIncrease">+</button>
1932          </div>
1933        </div>
1934        <button
1935          v-if="!isLoading && !onlyDescription"
1936          class="btn btn-mobile add-button qk-btn qk-btn--primary qk-btn--lg"
1937          :class="{selected: isChoose, adding: adding || isHideAddCartBtn, 'qk-btn--disabled': isHideAddCartBtn && isNewNnCollection, 'qk-bd--none': isHideAddCartBtn && isNewNnCollection}"
1938          type="button"
1939          :disabled="isHideAddCartBtn"
1940          @click="addProduct">
1941            ${ addCartText }
1942        </button>
1943</div>
1944<div
1945  class="mobile-modal"
1946  :class="{ 'modal-open': isModalSelectShow && isMobileSize }">
1947        <div class="mobile_modal-content">
1948          <div class="modal_close-button">
1949            <button class="btn-close qk-circle qk-circle--md qk-pos--abs qk-op--100  qk-text--heading qk-bd--product_border qk-bd--default" @click="onChangeModalSelect(false,true)"></button>
1950          </div>
1951          
1952          <p>請選擇${modalOption.name}</p>
1953          <div class="modal_select-templete qk-display--flex qk-of_y--auto qk-w--100">
1954            <div class="options-container">
1955              <label :class="{'seleced-option': currentOption && currentOption[selectOption] === data.name, 'avoid-clicks':!data.isValid}" v-for="data in modalOption.types" @click="setOption(selectOption, data.name, modalOption.types)">${data.name}</label>
1956            </div>
1957          </div>
1958          <div v-if="variantSize > 1" class="modal_select_footer qk-display--flex">
1959            <button type="button" class="modal_cancel qk-bd--default qk-btn--secondary qk-bd--button qk-text--button" @click="onChangeModalSelect(false,false)">取消</button>
1960            <button type="button" class="qk-btn qk-btn--primary qk-btn--lg qk-fs--body qk-bd--button qk-test--button_text" @click="onChangeModalSelect(false,true)">完成</button>
1961          </div>
1962        </div>
1963</div>
1964
1965<!-- cyb_snippet _product_modal_button_mobile end -->
1966    </div>
1967  </div>
1968</script>
1968
1969
1970<!-- cyb_snippet components/product_modal/color_image_option start -->
1971<script id="color-image-option" type="text/x-template">
1972  <div class="color-image qk-display--flex qk-flex--wrap qk-align--center">
1973    <div class="title">顏色</div>
1974    <div
1975      v-for="(imageColor, index) in imageColors"
1976      :class="{
1977        'focus': !currentOption[optionKey] === option.types[index].name && currentImageIndex === index,
1978        'selected': currentOption[optionKey] === option.types[index].name,
1979        'disabled': !option.types[index].isValid
1980      }"
1981      class="image-option img-flex qk-bd--default qk-bd--transparent qk-display--block qk-pos--rel"
1982      @mouseleave="setCurrentImageIndex(index)"
1983      @mouseover="getOptionImageIndex(index)"
1984      @click="setOption(optionKey, index)"
1985    >
1986      <img v-if="imageColor !== 'noColorImage'" :src="imageColor.large" alt="image">
1987      <img v-else src="/assets/no-image-large.png" alt="image">
1988    </div>
1989  </div>
1990</script>
1990
1991
1992<script type="text/javascript">
1993  $(document).ready(function() {
1994    window.themeHelper.productModalComponents['color-image-option'] = {
1995      template: '#color-image-option',
1996      delimiters: ['${', '}'],
1997      props: {
1998        optionKey: String,
1999        option: Object,
2000        product: Object,
2001        imageColors: Array,
2002        isChoose: Boolean,
2003        currentImageIndex: Number,
2004        setCurrentImageIndex: Function,
2005        getOptionImageIndex: Function,
2006        currentOption: Object,
2007        toggleCurrentOption: Function,
2008      },
2009      methods: {
2010        setOption: function(optionKey, index) {
2011          const type = this.option.types[index];
2012          if(type.isValid){
2013            this.toggleCurrentOption(optionKey, type.name);
2014          }
2015        }
2016      }
2017    };
2018  });
2019</script>
2019
2020
2021<!-- cyb_snippet components/product_modal/color_image_option end -->
2022<!-- cyb_snippet components/product_modal/advance_option start -->
2023<script id="advance-option" type="text/x-template">
2024  <div class="advance">
2025    <div class="title qk-text--heading qk-fs--body">${option.name}</div>
2026    <div
2027      v-for="type in option.types"
2028      :class="{
2029        'selected': currentOption[optionKey] === type.name,
2030        'disabled': !type.isValid
2031      }"
2032      @click="setOption(optionKey, type)"
2033      class="option qk-btn  qk-bd--button qk-text--button qk-pd_x--1"
2034    >
2035      ${type.name}
2036    </div>
2037  </div>
2038</script>
2038
2039
2040<script type="text/javascript">
2041  $(document).ready(function() {
2042    window.themeHelper.productModalComponents['advance-option'] = {
2043      template: '#advance-option',
2044      delimiters: ['${', '}'],
2045      props: {
2046        optionKey: String,
2047        option: Object,
2048        product: Object,
2049        currentOption: Object,
2050        toggleCurrentOption: Function,
2051      },
2052      methods: {
2053        setOption: function(optionKey, type) {
2054          if(type.isValid){
2055            this.toggleCurrentOption(optionKey, type.name);
2056          }
2057        }
2058      }
2059    };
2060  });
2061</script>
2061
2062
2063<!-- cyb_snippet components/product_modal/advance_option end -->
2064
2065<!-- cyb_snippet components/product_modal/photo_swiper start -->
2066
2067
2068<script id="photo-swiper" type="text/x-template">
2069  <div ref="photoSwiper" id="photo_swiper" class="photos swiper swiper-container">
2070    <div class="swiper-wrapper">
2071      <template v-if="hasImage">
2072        <div v-for="(item, index) in mediaItems" :key="index" class="photo swiper-slide qk-align--center qk-display--flex qk-justify--center qk-vert--text_top default_scale">
2073          <video-player v-if="item.url" :video="item"
2074            :video-poster=" !!mediaItems[firstImageIndex] ? mediaItems[firstImageIndex].large : '//cdn-general.cybassets.com/img_loading.svg' "
2075          >
2076          </video-player>
2077          <img v-else class="qk-center" :src="item.large" alt="image"/>
2078        </div>
2079      </template>
2080      <div v-else class="photo swiper-slide qk-align--center qk-display--flex qk-justify--center qk-vert--text_top default_scale">
2081        <img src="//cdn-general.cybassets.com/assets/no-image-large-2b95ea56c455be9ce081d81c14eded925df68bf8fa38809e46f6af8fcdd5f9bc.png" alt="image" />
2082      </div>
2083    </div>
2084    <div v-show="showBtn" class="photo-prev qk-swiper_btn--prev  qk-hidden--mobile qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v2 qk-mg_l--05"></div>
2085    <div v-show="showBtn" class="photo-next qk-swiper_btn--next  qk-hidden--mobile qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v2 qk-mg_l--05"></div>
2086
2087    <div class="photo-pagination qk-bd--default qk-bd--body qk-text--center qk-text--body qk-fs--breadcrumb qk-visible-sm">
2088        <span class="current-index qk-text--default_dark">${currentImageIndex +1 }</span><span class="pagination-slash">/</span>
2089        <span>${mediaItems.length}</span>
2090      </div>
2091  </div>
2092</script>
2092
2093
2094<script>
2095  $(document).ready(function () {
2096    window.themeHelper.productModalComponents['photo-swiper'] = {
2097      template: '#photo-swiper',
2098      delimiters: ['${', '}'],
2099      props: {
2100        mediaItems: Array,
2101        currentImageIndex: Number,
2102        currentVariant: Object,
2103        videoAfterImage: Boolean,
2104      },
2105      data: function () {
2106        return {
2107          swiper: {},
2108          swiperOption: {
2109            preventInteractionOnTransition: true,
2110            rewind: true,
2111            spaceBetween: 5,
2112            slidesPerView: 1,
2113            navigation: {
2114              nextEl: '.photo-next',
2115              prevEl: '.photo-prev'
2116            }
2117          },
2118          showBtn: true,
2119          isVariantReposition: false,
2120        }
2121      },
2122      mounted: function() {
2123        this.swiper = new Swiper('#photo_swiper', this.swiperOption);
2124        this.swiper.on('slideChange', this.slideOnChange);
2125      },
2126      watch: {
2127        currentImageIndex: function() {
2128          this.slideToIndex();
2129        },
2130        currentVariant: {
2131          immediate: true,
2132          handler: function() {
2133            this.showBtn = this.mediaItems.length > 1;
2134            this.isVariantReposition = true;
2135            this.$nextTick(() => {
2136              if (this.swiper) {
2137                this.swiper.update();
2138                this.swiper.slideToLoop(this.initialItemIndex)
2139                this.slideOnChange();
2140                this.isVariantReposition = false;
2141              }
2142            });
2143          },
2144        },
2145      },
2146      computed: {
2147        hasImage: function() {
2148          return this.mediaItems.length > 0;
2149        },
2150        hasVideo: function() {
2151          return this.mediaItems.findIndex(item => !!item.url) !== -1;
2152        },
2153        variantPhotos: function() {
2154          if (this.currentVariant?.photos?.length) {
2155            return this.currentVariant.photos;
2156          } else  {
2157            return null;
2158          }
2159        },
2160        initialItemIndex: function() {
2161          if (this.hasVideo && !this.videoAfterImage) {
2162            // Focus on photo if "variant with photos" selected, video otherwise
2163            return this.variantPhotos?.length ? 1 : 0;
2164          } else {
2165            // Focus on first photo
2166            return 0;
2167          }
2168        },
2169      },
2170      methods: {
2171        slideOnChange: function() {
2172          themeHelper.EventBus.$emit('photoOnChange', this.swiper.realIndex, this.isVariantReposition);
2173        },
2174        slideToIndex: function() {
2175          if(this.swiper.realIndex != this.currentImageIndex) {
2176            this.swiper.slideToLoop(this.currentImageIndex);
2177            this.swiper.update();
2178          }
2179        },
2180      }
2181    };
2182  });
2183</script>
2183
2184
2185
2186<!-- cyb_snippet components/product_modal/video_player start -->
2187<script id="video-player" type="text/x-template">
2188  <div class="videoPlayer__wrapper" @click="handleVideoClick">
2189    <video 
2190      id='modal-video'
2191      class="videoPlayer__video qk-cursor--pointer qk-center" 
2192      :poster="videoPoster"
2193      loop defaultMuted muted playsinline webkit-playsinline autoplay
2194    >
2195      <source :src="videoUrl" type="video/mp4">
2196      <p>你的瀏覽器不支援 HTML 5 video</p>
2197    </video>
2198    <button id="modal-video-button" class="videoPlayer__pauseButton"></button>
2199  </div>
2200</script>
2200
2201
2202<script>
2203  $(document).ready(function () {
2204    window.themeHelper.productModalComponents['video-player'] = {
2205      template: '#video-player',
2206      delimiters: ['${', '}'],
2207      props: {
2208        video: Object,
2209        videoPoster: String,
2210      },
2211      data: function() {
2212        return {
2213          videoElement: null,
2214          buttonElement: null,
2215        };
2216      },
2217      mounted: function() {
2218        this.videoElement = $('#modal-video')[0];
2219        this.buttonElement = $('#modal-video-button');
2220        this.setVideoVolumeZero();
2221        this.videoElement.addEventListener('canplay', (event) => {
2222          this.sendGtag('play');
2223        }, { once: true });
2224      },
2225      computed: {
2226        videoUrl: function() {
2227          return this.video.url;
2228        }
2229      },
2230      methods: {
2231        sendGtag: function(action) {
2232          window.productVideoView && productVideoView(action);
2233        },
2234        setVideoVolumeZero: function() {
2235          this.videoElement.volume = 0;
2236        },
2237        handleVideoClick: function() {
2238          if (this.videoElement.paused){
2239            this.videoElement.play();
2240            this.sendGtag('play');
2241          } else {
2242            this.videoElement.pause();
2243            this.sendGtag('paused');
2244          }
2245          this.handleVideoButtonDisplay(this.buttonElement, this.videoElement);
2246        },
2247        handleVideoButtonDisplay: function(button, video) {
2248          button.toggleClass('videoPlayer__playButton', video.paused);
2249          button.toggleClass('videoPlayer__pauseButton', !video.paused);
2250        },
2251      }
2252    };
2253  });
2254</script>
2254
2255
2256<!-- cyb_snippet components/product_modal/video_player end -->
2257
2258<!-- cyb_snippet components/product_modal/photo_swiper end -->
2259<!-- cyb_snippet components/product_modal/swiper_thumbnails start -->
2260<script id="swiper-thumbnails" type="text/x-template">
2261  <div
2262    v-for="(thumbnail, index) in allThumbnails"
2263    :key="index"
2264    class="product-thumbnail img-flex qk-of--hidden qk-display--il_bk qk-cursor--pointer qk-bd--default qk-bd--transparent default_scale"
2265    :class="{ focus: index === currentImageIndex }"
2266    @mouseover="updateCurrentImageIndex(index)"
2267  >
2268    <template v-if="thumbnail.isVideo">
2269      <video class="qk-w--100 qk-h--100" :src="thumbnail.url" defaultMuted playsinline></video>
2270      <button class="videoPlayer__playButton"></button>
2271    </template>
2272    <img v-else :src="thumbnail.url" :alt="title" class="qk-w--100 qk-h--100">
2273  </div>
2274</script>
2274
2275
2276<script type="text/javascript">
2277  $(document).ready(function () {
2278    window.themeHelper.productModalComponents['swiper-thumbnails'] = {
2279      template: '#swiper-thumbnails',
2280      delimiters: ['${', '}'],
2281      props: {
2282        title: String,
2283        mediaItems: Array,
2284        currentImageIndex: Number,
2285      },
2286      emits: ['updateCurrentImageIndex'],
2287      methods: {
2288        updateCurrentImageIndex: function(thumbnailIndex) {
2289          if (thumbnailIndex !== this.currentImageIndex ) {
2290            this.$emit('updateCurrentImageIndex', thumbnailIndex);
2291          }
2292        },
2293      },
2294      mounted() {
2295        // can be removed after replacing video thumbnail with img
2296        const thumbnailVideo = $('.product-thumbnail video')[0];
2297        if (!!thumbnailVideo) {
2298          thumbnailVideo.volume = 0;
2299          const promise = thumbnailVideo.play();
2300          promise.then(() => {
2301            thumbnailVideo.pause();
2302          })
2303        }
2304      },
2305      computed: {
2306        allThumbnails: function() {
2307          return this.mediaItems.map(item => ({
2308            isVideo: !!item.url,
2309            url: item.url || item.medium
2310          }));
2311        },
2312      },
2313      watch: {
2314        allThumbnails: {
2315          handler(){
2316            this.updateCurrentImageIndex(this.currentImageIndex);
2317          }
2318        }
2319      }
2320    };
2321  });
2322</script>
2322
2323
2324<!-- cyb_snippet components/product_modal/swiper_thumbnails end -->
2325
2326
2327<!-- cyb_snippet _product_modal_js start -->
2328<script type="text/javascript">
2329  $(document).ready(function() {
2330    var categoryLevels = [];
2331    var productCategoryLevels = [];
2332    var pageMainProductId = 69561326;
2333    window.themeHelper.productModalComponents['product-modal'] = {
2334      template: '#product-modal',
2335      delimiters: [
2336        '${', '}'
2337      ],
2338      props: {
2339        onlyDescription: Boolean,
2340        cartItems: Array,
2341        groupId: Number,
2342        productUrl: String,
2343        color: String, // unused
2344        collectionId: Number,
2345        categories: Array,
2346        // 判斷是否有色票展開
2347        isCollection: {
2348          type: Boolean,
2349          required: false,
2350          default: false,
2351        },
2352        // 判斷加入購物車的方法
2353        isNnCollection: Boolean,
2354        isNewNnCollection: Boolean,
2355        isBundleDiscount: Boolean,
2356
2357        // 判斷是否顯示商品描述
2358        isShowDescription: {
2359          type: Boolean,
2360          default: true
2361        },
2362
2363        // 判斷是否為立即購買
2364        isQuickBuy: {
2365          type: Boolean,
2366          default: false
2367        },
2368        selectedVariantId: Number,
2369        callBack: Function
2370      },
2371      data: function() {
2372        return {
2373          styledShopMenu: "buttonType",
2374          selectOption: '',
2375          selectCurrentStr:'',
2376          isModalSelectShow: false,
2377          modalOption: {},
2378          adding: false,
2379          currentImageIndex: 0,
2380          _navState: { variantId: null, photoIndex: 0 },
2381          currentOption: {
2382            option1: null,
2383            option2: null,
2384            option3: null
2385          },
2386          currentVariant: null,
2387          variantNotifications: null,
2388          currentVariantIndex: null,
2389          product: {},
2390          isChoose: false,
2391          isLoading: true,
2392          isEmptyClickable: liquidHelper.isEmptyClickable,
2393          quantity: 1,
2394          maxUsableBonus: 0,
2395          isDiscountPrice: false,
2396          displayProductDiscountsList: true,
2397          displayPeriodicSalesPages:true,
2398          discountsList: null,
2399          hasVideoPlugin: true,
2400          videoDisplayLocation: "after",
2401          hasStockNotificationPlugin: true,
2402          isDisplayPriceRange: null,
2403          hasVariantPriceRangePlugin: true,
2404          hasHideSingleVariantOptionsPlugin: false,
2405        }
2406      },
2407      mounted: function() {
2408        this.getProductDetail();
2409        $('.custom-scrollbar').addCustomScrollbar();
2410        themeHelper.EventBus.$on('photoOnChange', this.photoOnChange);
2411      },
2412      beforeUnmount: function() {
2413        themeHelper.EventBus.$off('photoOnChange', this.photoOnChange);
2414      },
2415      computed: {
2416        photoUrls: function() {
2417          return this.product.photoUrls.length > 0
2418            ? this.product.photoUrls
2419            : [this.featuredImage];
2420        },
2421        photoUrlsMap: function() {
2422          var map = {};
2423          var urls = this.product.photoUrls;
2424          this.product.photos.forEach(function(photo, index) {
2425            map[photo.photo.id] = urls[index];
2426          });
2427
2428          return map;
2429        },
2430        featuredImage: function() {
2431          return this.product.featuredImage;
2432        },
2433        swiperPhotos: function() {
2434          if (!this.photoUrls.length) {
2435            return [this.featuredImage];
2436          }
2437
2438          if (this.currentVariant && this.currentVariant.photos.length) {
2439            var map = this.photoUrlsMap;
2440            return this.currentVariant.photos.map(function(p) {
2441              return map[p.id];
2442            });
2443          }
2444
2445          return this.photoUrls;
2446        },
2447        productVideo: function() {
2448          return this.product.video;
2449        },
2450        videoAfterImage: function() {
2451          return this.videoDisplayLocation === 'after';
2452        },
2453        swiperItems: function() {
2454          const media = [...this.swiperPhotos];
2455          if (
2456            this.hasVideoPlugin && this.productVideo.url
2457          ) {
2458            this.videoAfterImage
2459              ? media.push(this.productVideo)
2460              : media.unshift(this.productVideo);
2461          }
2462          return media;
2463        },
2464        firstImageIndex: function() {
2465          return this.hasVideoPlugin && this.productVideo.url && !this.videoAfterImage
2466            ? 1
2467            : 0
2468        },
2469        otherDescriptions: function() {
2470          var descriptions = {};
2471          this.product.otherDescriptions.forEach(function(od) {
2472            descriptions[od.settingName] = od.bodyHtml;
2473          })
2474          return descriptions
2475        },
2476        variantOptions: function() {
2477          return themeHelper.variantOptions(this.product);
2478        },
2479        firstValidVariant: function() {
2480          var self = this;
2481          var result = this.product.variants.find(function(variant) {
2482            // 增加 product modal 聯絡店家 property
2483            variant.imgUrl = "";
2484            variant.productTitle = "";
2485
2486            return variant.available;
2487          });
2488
2489          return result
2490            ? result
2491            : null;
2492        },
2493        selectedValidVariant: function() {
2494          var self = this;
2495          var result = this.variantOptions.find(function(variant) {
2496            return variant.id === self.selectedVariantId;
2497          });
2498
2499          return result
2500            ? result
2501            : null;
2502        },
2503        totalInventoryQuantity: function(product) {
2504          return themeHelper.totalInventoryQuantity(this.product)
2505        },
2506        addCartText: function() {
2507          var variants = parseInt("0");
2508          let isRegisteredNotification = this.currentVariant && this.variantNotifications && this.variantNotifications[this.currentVariant.id]
2509          if (this.isNnCollection || this.isBundleDiscount) {
2510            if (this.currentVariant && !themeHelper.variantIsAvailable(this.currentVariant)) {
2511              if (this.currentVariant.inventoryPolicy === 'continue') {
2512                if (this.isNnCollection) {
2513                  return this.isChoose && !this.isNewNnCollection
2514                    ? '已預購'
2515                    : '預購商品';
2516                }
2517              } else {
2518                return '已售完';
2519              }
2520            }
2521            if (this.totalInventoryQuantity === 0) {
2522              return '已售完';
2523            }
2524            return this.isChoose && !this.isNewNnCollection
2525              ? '已選購'
2526              : '選購';
2527          } else {
2528            if (this.isQuickBuy) {
2529              if (this.currentVariant && !themeHelper.variantIsAvailable(this.currentVariant)) {
2530                if (this.currentVariant.inventoryPolicy === 'continue'){
2531                  return '立即預購'
2532                }
2533                return this.hasStockNotificationPlugin
2534                  ? (isRegisteredNotification
2535                    ? '已登記補貨通知'
2536                    : '已售完,貨到通知我')
2537                  : '聯絡店家'
2538              }
2539              return '立即購買';
2540            } else {
2541              if (this.currentVariant) {
2542                if (!themeHelper.variantIsAvailable(this.currentVariant)) {
2543                  if (this.currentVariant.inventoryPolicy === 'continue'){
2544                    return '預購商品'
2545                  }
2546                  return this.hasStockNotificationPlugin
2547                    ? (isRegisteredNotification
2548                      ? '已登記補貨通知'
2549                      : '已售完,貨到通知我')
2550                    : '聯絡店家'
2551                }
2552              } else {
2553                if (this.totalInventoryQuantity === 0) {
2554                  return '已售完';
2555                }
2556              }
2557              return '加入購物車';
2558            }
2559          }
2560        },
2561        cartItem: function() {
2562          if (!this.currentVariant) {
2563            return null
2564          }
2565          return {
2566            id: this.currentVariant.id,
2567            groupId: this.groupId,
2568            productId: this.product.id,
2569            title: this.product.title,
2570            photo: this.currentVariant.imgUrl || this.featuredImage.large,
2571            quantity: this.quantity,
2572            price: this.currentVariant.price,
2573            variant: this.currentVariant,
2574            product: this.product
2575          }
2576        },
2577        options: function() {
2578          return this.product.options;
2579        },
2580        optionTypes: function() {
2581
2582          // 先根據設定的variants來排序
2583          var self = this;
2584
2585          var option1 = [];
2586          var option2 = [];
2587          var option3 = [];
2588          this.product.variants.forEach(function(item) {
2589            if (item.option1 !== null) {
2590              option1.push(item.option1);
2591            }
2592            if (item.option2 !== null) {
2593              option2.push(item.option2);
2594            }
2595            if (item.option3 !== null) {
2596              option3.push(item.option3);
2597            }
2598          })
2599          var filteredOptionTypes = [];
2600          this.product.optionTypes.forEach(function(item, index) {
2601            filteredOptionTypes.push(self.getUniqueVariant(eval('option' + (
2602              index + 1
2603            ))).join(','));
2604          });
2605          return filteredOptionTypes;
2606        },
2607        optionInfo: function() {
2608          var self = this;
2609
2610          return self.options.map(function(option, index) {
2611            return {
2612              name: option,
2613              types: self.getOptions('option' + (
2614                index + 1
2615              ), self.optionTypes[index].split(','))
2616            }
2617          });
2618        },
2619        hasVariant: function() {
2620          return this.product.options.length > 0;
2621        },
2622        shouldHideSingleVariantOptions: function() {
2623          return this.hasHideSingleVariantOptionsPlugin &&
2624                 this.product.variants &&
2625                 this.product.variants.length <= 1;
2626        },
2627        variantSize: function() {
2628          if(this.product.options){
2629          return this.product.options.length;
2630          }
2631        },
2632        firstVariant: function() {
2633          return this.product.variants[0];
2634        },
2635        firstCheapestVariant: function() {
2636          return this.product.variants.find((v)=> (v.price === this.priceStats.minPrice));
2637        },
2638        priceStats: function() {
2639          return this.product.variants.reduce(function(acc, variant) {
2640            return {
2641              minPrice: variant.price < acc.minPrice ? variant.price : acc.minPrice,
2642              maxPrice: variant.price > acc.maxPrice ? variant.price : acc.maxPrice,
2643            };
2644          }, {
2645            minPrice: this.firstVariant.price,
2646            maxPrice: this.firstVariant.price,
2647          });
2648        },
2649        hidePrice: function() {
2650          return this.product && this.product.hidePrice === true;
2651        },
2652        salesModePurchasable: function() {
2653          return !(this.product && this.product.salesModePurchasable === false);
2654        },
2655         // - 任選折扣/紅配綠:「選擇」只是加進試算清單,不會直接下單,故只擋藏價商品
2656        // - 其他情境(商品頁、群組頁、多層級分類、搜尋、首頁商品區塊):不可購買(含藏價)就整組收掉
2657        showPurchaseControls: function() {
2658          if (this.isNnCollection || this.isBundleDiscount) {
2659            return !this.hidePrice;
2660          }
2661          return this.salesModePurchasable;
2662        },
2663        variantPrice: function() {
2664          if (this.hidePrice) {
2665            return '';
2666          }
2667          var from = liquidHelper.defaultCurrency;
2668          if (this.currentVariant) {
2669            return moneySymbol(this.currentVariant.price, from);
2670          }
2671          if (this.product.variants.length === 1) {
2672            return moneySymbol(this.firstVariant.price, from);
2673          }
2674
2675          var minPrice = this.priceStats.minPrice;
2676          var maxPrice = this.priceStats.maxPrice;
2677
2678          if (minPrice !== maxPrice && (!this.hasVariantPriceRangePlugin || this.isDisplayPriceRange)) {
2679            this.isDiscountPrice = false;
2680            return moneySymbol(minPrice, from) + '~' + moneySymbol(maxPrice, from);
2681          } else {
2682            return moneySymbol(minPrice, from);
2683          }
2684        },
2685        marketPrice: function() {
2686          if (this.hidePrice) {
2687            this.isDiscountPrice = false;
2688            return;
2689          }
2690          var from = liquidHelper.defaultCurrency;
2691          if (this.currentVariant) {
2692            this.isDiscountPrice = false;
2693            if (this.currentVariant.compareAtPrice && this.currentVariant.compareAtPrice > this.currentVariant.price) {
2694              this.isDiscountPrice = true;
2695              return moneySymbol(this.currentVariant.compareAtPrice, from);
2696            }
2697          } else {
2698            if (!_.includes(this.variantPrice, '~')) {
2699              const price =  Number(this.variantPrice.replace(/[^0-9.
2699-]/g, ""))
2700              // 未選擇款式也不顯示區間時,顯示第一個最便宜的款式的定價
2701              if (this.firstCheapestVariant.compareAtPrice && this.firstCheapestVariant.compareAtPrice > price){
2702                this.isDiscountPrice = true;
2703                return moneySymbol(this.firstCheapestVariant.compareAtPrice, from);
2704              }
2705              // 未選擇款式時要改回一般價格顏色
2706              this.isDiscountPrice = false;
2707            }
2708          }
2709        },
2710        isShowDropdownList: function() {
2711          if (this.product.options.length > 0) {
2712            return true;
2713          }
2714          return this.product.variants.length > 1
2715        },
2716        priceTitleTag: function() {
2717          return this.marketPrice
2718            ? getDiscountPriceName()
2719            : getDiscountPriceSuggestionName();
2720        },
2721        isHideAddCartBtn: function() {
2722          if (this.addCartText === '已售完') {
2723            return true;
2724          }
2725          return false;
2726        },
2727        isSecondaryBtn: function() {
2728          if (this.addCartText === '聯絡店家') {
2729            return true;
2730          }
2731          return false;
2732        },
2733        variantsMaxUsableBonus: function() {
2734          var variants = this.product.variants;
2735          var maxUsableBonusArray = variants.map(function(item) {
2736            return item.maxUsableBonus
2737          });
2738          return Math.max.apply(null, maxUsableBonusArray);
2739        },
2740        bonusToPrice: function() {
2741          const bonus = this.currentVariant
2742            ? this.currentVariant.maxUsableBonus
2743            : this.maxUsableBonus;
2744          const price = Math.floor(bonus / window.liquidHelper.conversionBonus);
2745          const priceWithMoney = window.themeHelper.productDisplayCurrencyBlock(price);
2746          return "(約等於 value )".replace('value', priceWithMoney);
2747        },
2748        isMobileSize: function() {
2749          return window.innerWidth <= 580
2750        },
2751        limitBuyText: function () {
2752          const minCount = this.product.minBuy;
2753          const maxCount = this.product.limitBuy;
2754          if (minCount > 0 && maxCount > 0) {
2755            return '此商品每筆訂單最少需購買 minCount 件,最多可購買 maxCount 件'.replace('minCount', minCount).replace('maxCount', maxCount);
2756          }
2757          if (minCount > 0) {
2758            return '此商品每筆訂單最少需購買 minCount 件'.replace('minCount', minCount);
2759          }
2760          if (maxCount > 0) {
2761            return '此商品每筆訂單最多可購買 maxCount 件'.replace('maxCount', maxCount);
2762          }
2763          return '';
2764        }
2765      },
2766      methods: {
2767        onClickSelectModal: function(objData, selectOptionStr) {
2768          this.isModalSelectShow = true;
2769          this.modalOption = objData;
2770          this.selectOption = selectOptionStr
2771          this.selectCurrentStr = this.currentOption && (String(this.currentOption[selectOptionStr]) || null)
2772        },
2773        onChangeModalSelect: function(flag, isSelect) {
2774          if(!isSelect){
2775            this.setOption(this.selectOption,this.selectCurrentStr,this.modalOption.types)
2776          }
2777          this.isModalSelectShow = flag;
2778        },
2779        setOption: function(optionKey, type, dataArr) {
2780          let flag = true
2781          dataArr.forEach(item => {
2782            if (item.name === type) {
2783              flag = item.isValid
2784            }
2785          })
2786          if (flag) {
2787            this.toggleCurrentOption(optionKey, type)
2788          }
2789        },
2790        addToWishListEvent: function() {
2791          try {
2792            if (appMarketAddToWishListEvent) {
2793              var product = this.product;
2794              var currentVariant = this.currentVariant
2795              var element = $(`.btn[data-id=${product.id}]`);
2796              var index;
2797              var listName;
2798              if (element) {
2799                index = element.data('position')
2800                listName = element.data('list')
2801              }
2802              // sku_properties:選中款式的 option pairs(當前語系),類型名 zip 值
2803              var optionValues = [currentVariant.option1, currentVariant.option2, currentVariant.option3];
2804              var properties = [];
2805              (product.options || []).forEach(function(optionName, i) {
2806                if (optionName && optionValues[i]) {
2807                  properties.push({ name: optionName, value: optionValues[i] });
2808                }
2809              });
2810              var dataSet = {
2811                name: product.title,
2812                category: product.productType,
2813                categories: (this.categories && this.categories.length) ? this.categories : (categoryLevels.length ? categoryLevels : (product.id === pageMainProductId ? productCategoryLevels : undefined)),
2814                sku: currentVariant.sku,
2815                price: currentVariant.price,
2816                compare_at_price: currentVariant.compareAtPrice,
2817                properties: properties,
2818                quantity: currentVariant.inventoryQuantity,
2819                variant: currentVariant.title,
2820                listName: listName || null,
2821                productId: product.id,
2822                variantId: currentVariant.id,
2823                index: Number(index) || 0,
2824              }
2825              appMarketAddToWishListEvent(dataSet)
2826            }
2827          } catch (e) {
2828            console.error(e)
2829          }
2830        },
2831        addWishList: function() {
2832          if (this.currentVariant === null) {
2833            window.msg('請選擇商品款式', 'warning').show();
2834            return;
2835          }
2836          var productVariantId = this.currentVariant.id;
2837          var addToWishListEvent = this.addToWishListEvent
2838          $.ajax({
2839            method: 'POST',
2840            url: '/tracking_items',
2841            dataType: 'json',
2842            data: {
2843              product_variant_id: productVariantId
2844            },
2845            success: function(response) {
2846              if (response.message) {
2847                window.msg(response.message, 'success').show();
2848                addToWishListEvent()
2849              }
2850
2851              if (response.error) {
2852                window.msg(response.error, 'error').show();
2853
2854              }
2855              if (response.info) {
2856                window.msg(response.info, 'info').show();
2857              }
2858              if (response.success === false) {
2859                if (window.liquidHelper && window.liquidHelper.language && window.liquidHelper.language.handle) {
2860                  window.location = "/" + window.liquidHelper.language.handle + "/account/login";
2861                } else {
2862                  window.location = "/account/login";
2863                }
2864              }
2865            }
2866          });
2867        },
2868        setChoose: function(currentVariant) {
2869          this.maxUsableBonus = 0;
2870          var quantity = 1;
2871          var cartItem = null;
2872          if (!this.isNnCollection && this.cartItems) {
2873            cartItem = this.normalGetChoosenItem(currentVariant);
2874          }
2875          if (this.isNnCollection) {
2876            cartItem = this.nnCollectionGetChoosenItem(currentVariant);
2877          }
2878          this.isChoose = !! cartItem;
2879          if (this.isNewNnCollection) {
2880            return
2881          }
2882          this.quantity = cartItem
2883            ? cartItem.quantity
2884            : this.quantity;
2885
2886          // product modal 聯絡店家情境
2887          if (currentVariant) {
2888            var photoIndex = 0;
2889            if (! currentVariant.imgUrl) {
2890              currentVariant.imgUrl = this.swiperPhotos.length > 0
2891                ? (this.swiperPhotos[photoIndex] && this.swiperPhotos[photoIndex].large)
2892                : this.featuredImage.large;
2893            }
2894            currentVariant.productTitle = this.product.title + ' - ' + this.currentVariant.title;
2895          }
2896        },
2897        normalGetChoosenItem: function(currentVariant) {
2898          return this.cartItems.find(function(cartItem) {
2899            return currentVariant && cartItem.id === currentVariant.id;
2900          });
2901        },
2902        nnCollectionGetChoosenItem: function(currentVariant) {
2903          var isSelected = null;
2904          if (! currentVariant) {
2905            return isSelected;
2906          }
2907          if (this.isNewNnCollection) {
2908            var cart = store.get(`SpecialCollectionCart_${this.collectionId}`);
2909            isSelected = cart && cart.find((item) => item.variant_id == currentVariant.id) || null;
2910          } else {
2911            store.each(function(value, key) {
2912              var productId = _.includes(key, 'Pro' + currentVariant.productId);
2913              var variantID = _.includes(key, 'Var' + currentVariant.id);
2914              if (productId && variantID) {
2915                isSelected = store.get(key);
2916              }
2917            });
2918          }
2919
2920          return isSelected;
2921        },
2922        // get product detail
2923        getProductDetail: function() {
2924          var self = this;
2925
2926          $.ajax({
2927            url: self.productUrl + '.json',
2928            type: 'GET',
2929            timeout: 30000,
2930            beforeSend: function() {
2931              self.isLoading = true;
2932            },
2933            error: function(xhr) {
2934              self.closeModal();
2935              if (xhr.status === 429) {
2936                window.showAddCartRateLimitModal(5);
2937                return;
2938              }
2939              window.msg('網路連線異常,請重新整理', 'error').show();
2940            }
2941          }).done(function(data) {
2942            if (data.id) {
2943              var productData = [themeHelper.toCamelCase(data)];
2944              self.product = themeHelper.priceWithDiscount(productData, liquidHelper.hasPriceWithDiscountPlugin)[0];
2945              self.maxUsableBonus = self.variantsMaxUsableBonus;
2946              if (self.product.variants.length === 1 || liquidHelper.isFirstVariantSelected || self.selectedVariantId) {
2947                self.currentVariant = self.firstValidVariant;
2948                // 如果已經自選商品,則商品頁下滑加入購物車顯示自選商品
2949                if (self.selectedVariantId) {
2950                  self.currentVariant = self.selectedValidVariant;
2951                }
2952                if (self.currentVariant) {
2953                  self.setChoose(self.currentVariant);
2954                  self.setDefaultOption();
2955                }
2956              }
2957              if (self.displayProductDiscountsList) {
2958                self.setUpDiscountsTag(data);
2959              }
2960              self.isLoading = false;
2961              if (self.product && self.product.variants) {
2962                self.product.variants.forEach(function(discountedVariant) {
2963                  var rawVariant = data.variants.find(function(v) { return v.id === discountedVariant.id; });
2964                  if (rawVariant) { rawVariant.price = discountedVariant.price; }
2965                });
2966              }
2967              viewItem && viewItem(data, { collectionId: '', collectionName: null, categories: (self.categories && self.categories.length) ? self.categories : (categoryLevels.length ? categoryLevels : (data.id === pageMainProductId ? productCategoryLevels : undefined)) });
2968
2969              (function() {
2970                // Read login status from cacheable, skip GET /pv_notification if not login.
2971                if (window.store && window.store.get('customer')) {
2972                  var cacheableCustomer = window.store.get('customer');
2973                  if (cacheableCustomer.notLogin) {
2974                    return;
2975                  }
2976                }
2977                $.ajax({
2978                  url: '/pv_notification',
2979                  method: 'GET',
2980                  dataType: 'json',
2981                  data: {
2982                    product_id: parseInt(data.id)
2983                  },
2984                  success: function(response) {
2985                    self.variantNotifications = response.variants;
2986                  }
2987                })
2988              })();
2989            } else {
2990              window.msg('網路連線異常,請重新整理', 'error').show();
2991              self.closeModal()
2992            }
2993          })
2994        },
2995        // product image btn
2996        photoOnChange: function(photoIndex, isVariantReposition) {
2997          var visiblePhotos = (this.currentVariant && this.currentVariant.photos.length)
2998            ? this.currentVariant.photos
2999            : this.product.photos.map(function(p) { return p.photo; });
3000          var result = themeHelper.buildNavigateItemImagePayload(this._navState, {
3001            product: this.product,
3002            currentVariant: this.currentVariant,
3003            visiblePhotos: visiblePhotos,
3004            slideIndex: photoIndex,
3005            videoOffset: this.firstImageIndex,
3006          });
3007          this._navState = result.nextState;
3008          if (result.payload && !isVariantReposition) {
3009            window.navigateItemImage(result.payload);
3010          }
3011          this.currentImageIndex = photoIndex;
3012        },
3013        toggleCurrentOption: function(key, value) {
3014          this.currentOption[key] =
3015            (this.currentOption[key] === value || value === 'null') ? null : value;
3016          var variantIndex = this.getVariantIndex();
3017          if (variantIndex !== -1) {
3018            this.currentVariant = this.product.variants[variantIndex];
3019          } else {
3020            this.currentVariant = null;
3021          }
3022          this.setChoose(this.product.variants[variantIndex]);
3023          if (this.currentOption[key] !== null) {
3024            var optionIndex = parseInt(key.replace('option', '')) - 1;
3025            appStoreSelectItemEvent(this.product, this.product.options[optionIndex], this.currentOption[key], this.currentVariant);
3026          }
3027        },
3028        toggleNotification: function() {
3029          var self = this;
3030          var variantId = this.currentVariant.id;
3031
3032          $.ajax({
3033            url: '/toggle_pv_notification',
3034            method: 'POST',
3035            dataType: 'json',
3036            data: {
3037              product_variant_id: variantId
3038            },
3039            success: function(response) {
3040              self.variantNotifications[variantId] = response.notice;
3041              window.msg(response.message, "success").show();
3042            },
3043            error: function(xhr) {
3044              var response = xhr.responseJSON;
3045              var msg = response && response.error || "網路連線異常,請重新整理";
3046              window.msg(msg, "error").show();
3047            }
3048          })
3049        },
3050        getOptionImageIndex: function(index) {
3051          this.currentImageIndex = index;
3052        },
3053        quantityDecrease: function() {
3054          if (this.cartItem) {
3055            themeHelper.EventBus.$emit('quantityDecrease', this.cartItem, false);
3056            this.quantity = this.cartItem.quantity
3057          } else {
3058            window.msg("請選擇商品款式", 'warning').show();
3059          }
3060        },
3061        quantityIncrease: function() {
3062          if (this.cartItem) {
3063            themeHelper.EventBus.$emit('quantityIncrease', this.cartItem, false);
3064            this.quantity = this.cartItem.quantity
3065          } else {
3066            window.msg("請選擇商品款式", 'warning').show();
3067          }
3068        },
3069        quantityChange: function(el) {
3070          if (this.cartItem) {
3071            themeHelper.EventBus.$emit('quantityChange', parseInt(el.target.value), this.cartItem, false);
3072            this.quantity = this.cartItem.quantity;
3073            el.target.value = this.cartItem.quantity;
3074          } else {
3075            window.msg("請選擇商品款式", 'warning').show();
3076          }
3077        },
3078        addProduct: function() {
3079          if (this.addCartText === '聯絡店家') {
3080            $('#messagebuy-Modal').data('variant', this.currentVariant);
3081            $('#messagebuy-Modal').modal('show');
3082            $('#messagebuy-Modal').css("background-color", "rgba(0, 0, 0, .6)");
3083          } else if (
3084            this.addCartText === '已登記補貨通知' ||
3085            this.addCartText === '已售完,貨到通知我'
3086          ) {
3087              this.toggleNotification();
3088          } else {
3089            if (this.cartItem) {
3090              try {
3091                if (this.isChoose) {
3092                  themeHelper.EventBus.$emit('updateStore', 'update', this.cartItem, this.callBack)
3093                } else {
3094                  themeHelper.EventBus.$emit('updateStore', 'add', this.cartItem, this.callBack)
3095                }
3096
3097                this.adding = true;
3098                this.closeModal();
3099              } catch (e) {
3100                window.msg("商品款式異常", 'error').show();
3101              }
3102            } else {
3103              window.msg("請選擇商品款式", 'warning').show();
3104            }
3105          }
3106        },
3107        closeModal: function() {
3108          themeHelper.EventBus.$emit('closeProductModal');
3109        },
3110        setDefaultOption: function() {
3111          var self = this;
3112          Object.keys(self.currentOption).map(function(optionKey) {
3113            self.currentOption[optionKey] = self.currentVariant[optionKey];
3114          });
3115        },
3116        getVariantIndex: function() {
3117          var self = this;
3118          return self.product.variants.findIndex(function(variant, index) {
3119            var isVariant = true;
3120            Object.keys(self.currentOption).forEach(function(option) {
3121              if (variant[option] !== self.currentOption[option]) {
3122                isVariant = false;
3123              }
3124            });
3125            return isVariant;
3126          });
3127        },
3128
3129        // 篩選重複品項
3130        getUniqueVariant: function(variants) {
3131          return variants.filter(function(value, index, self) {
3132            return self.indexOf(value) === index;
3133          });
3134        },
3135        groupBy(xs, key) {
3136          return xs.reduce(function(rv, x) {
3137            (rv[x[key]] = rv[x[key]] || []).push(x);
3138            return rv;
3139          }, {});
3140        },
3141        setUpDiscountsTag(data) {
3142          var self = this;
3143          var languagePrefix = '/' + ((window.shopScriptHelper && window.shopScriptHelper.i18nLocale) || 'zh-TW');
3144          $.ajax({
3145            url: languagePrefix + self.productUrl + '/discounts_list',
3146            method: 'GET',
3147            success: function(result) {
3148              if (result.length > 0) {
3149                var discounts_list = self.groupBy(result, 'campaign_type');
3150                self.discountsList = discounts_list;
3151              } else {
3152                self.discountsList = null;
3153              }
3154            }
3155          });
3156        },
3157        getOptions: function(optionKey, optionTypes) {
3158          var self = this;
3159          return optionTypes.map(function(optionType, index) {
3160            var isValid = true;
3161
3162            // 選出包含目前type的variant
3163            var matchVariants = self.product.variants.filter(function(variant) {
3164              return variant[optionKey] === optionType;
3165            });
3166
3167            // 篩選已勾選type
3168            Object.keys(self.currentOption).forEach(function(currentOptionKey) {
3169              if (currentOptionKey !== optionKey) {
3170                matchVariants = matchVariants.filter(function(variant) {
3171                  if (self.currentOption[currentOptionKey]) {
3172                    return variant[currentOptionKey] === self.currentOption[currentOptionKey]
3173                  } else {
3174                    return true;
3175                  }
3176                });
3177              }
3178            });
3179            if (matchVariants.length === 0) {
3180              isValid = false;
3181            }
3182            if (! self.isEmptyClickable) {
3183              isValid = false;
3184              matchVariants.find(function(item) {
3185                if (item.inventoryQuantity === null || item.inventoryQuantity > 0 || item.inventoryPolicy === 'continue') {
3186                  isValid = true;
3187                }
3188              });
3189            }
3190            return {name: optionType, isValid: isValid}
3191          });
3192        }
3193      }
3194    };
3195  });
3196</script>
3196
3197
3198<!-- cyb_snippet _product_modal_js end -->
3199
3200<!-- cyb_snippet components/product_modal/product_modal end -->
3201
3202<!-- cyb_snippet messagebuy_modal start -->
3203
3204
3205<!-- cyb_snippet messagebuy_modal end -->
3206<!-- cyb_snippet components/rate_limit_modal start -->
3207<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/rate_limit_modal-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' />
3208
3209<div class="modal fade" id="rate-limit-modal" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static" data-keyboard="false">
3210  <div class="modal-dialog modal-dialog-centered" role="document">
3211    <div class="modal-content">
3212      <div class="modal-body">
3213        <div class="qk-text--default_dark rate-limit-text">
3214          <p id="rate-limit-title">目前搶購人潮眾多,請耐心等候</p>
3215          <p class="qk-fs--body qk-fw--500 rate-limit-message">
3216            <span class="qk-text--error" id="rate-limit-countdown"></span>
3217            <span id="rate-limit-desc"></span>
3218          </p>
3219          <p class="qk-fs--body qk-fw--500 rate-limit-message" id="rate-limit-warn">若離開此頁面,可能會延長等待時間。</p>
3220        </div>
3221        <button id="rate-limit-btn" class="btn qk-btn qk-btn--primary" disabled>重新進入商品頁</button>
3222      </div>
3223    </div>
3224  </div>
3225</div>
3226
3227<script>
3228  window.showRateLimitModal = function(countdownSec) {
3229    var countdown = countdownSec || 5;
3230    var $modal = $('#rate-limit-modal');
3231    var $btn = $modal.find('#rate-limit-btn');
3232    var $countdownEl = $modal.find('#rate-limit-countdown');
3233
3234    $btn.show();
3235    $modal.find('#rate-limit-desc').text(language["product_rate_limit_desc"]);
3236    $countdownEl.text(countdown);
3237    $btn.prop('disabled', true);
3238    $modal.modal('show');
3239
3240    var timer = setInterval(function() {
3241      countdown--;
3242      $countdownEl.text(countdown);
3243      if (countdown <= 0) {
3244        clearInterval(timer);
3245        $btn.prop('disabled', false);
3246      }
3247    }, 1000);
3248
3249    $btn.off('click').on('click', function() {
3250      location.reload();
3251    });
3252  }
3253
3254  window.showAddCartRateLimitModal = function(countdownSec) {
3255    var countdown = countdownSec || 5;
3256    var $modal = $('#rate-limit-modal');
3257    var $countdownEl = $modal.find('#rate-limit-countdown');
3258
3259    $modal.find('#rate-limit-btn').hide();
3260    $modal.find('#rate-limit-desc').text(language["addcart_rate_limit_desc"]);
3261    $countdownEl.text(countdown);
3262    $modal.modal('show');
3263
3264    var timer = setInterval(function() {
3265      countdown--;
3266      $countdownEl.text(countdown);
3267      if (countdown <= 0) {
3268        clearInterval(timer);
3269        $modal.modal('hide');
3270      }
3271    }, 1000);
3272  }
3273</script>
3273
3274
3275<!-- cyb_snippet components/rate_limit_modal end -->
3276
3277<script>
3278  $(document).ready(function() {
3279    const shouldSkipQuantityCheck = false;
3280    const newAddCartModalApp = new window.themeHelper.LiquidVueHandler({
3281      componentNames: Object.keys(window.themeHelper.productModalComponents),
3282      mountSelector: '#new-addcart-modal',
3283      autoMount: false,
3284    });
3285
3286    newAddCartModalApp.createApp({
3287      el: '#new-addcart-modal',
3288      delimiters: ['${', '}'],
3289      data() {
3290        return {
3291          collectionId: 0,
3292          categories: [],
3293          color: '', // unused
3294          isCollection: true,
3295          productQuantity: 0,
3296          onlyDescription: false,
3297          showProductModal: false,
3298          popProductUrl: '',
3299          loading: false,
3300        };
3301      },
3302      mounted: function() {
3303        themeHelper.EventBus.$on('closeProductModal',this.closeProductModal);
3304        themeHelper.EventBus.$on('updateStore', this.addProduct);
3305        themeHelper.EventBus.$on('quantityDecrease', this.quantityDecrease);
3306        themeHelper.EventBus.$on('quantityIncrease', this.quantityIncrease);
3307        themeHelper.EventBus.$on('quantityChange', this.quantityChange);
3308      },
3309      methods: {
3310        addProduct: function(actionType, productData, checkoutAddToCartCallback){
3311          var self = this;
3312          var pageViewId = window.CYBERBIZ && window.CYBERBIZ.dis && window.CYBERBIZ.dis.pageViewId;
3313          $.ajax({
3314            method: 'POST',
3315            url: '/cart/add',
3316            headers: pageViewId ? { 'X-Cyb-Page-View-Id': pageViewId } : {},
3317            data: {
3318              id: productData.id,
3319              quantity: productData.quantity,
3320            },
3321            dataType: 'json',
3322            beforeSend: function() {
3323              self.loading = true;
3324              themeHelper.ajaxLoadingMsg('loading');
3325              $('.shopcart').dropdown('hide')
3326              $('.global-cart-count').hide();
3327              $('.global-cart-loading').show();
3328              $('.global-cart-loading').html('<i class="fa fa-spinner fa-pulse" style="vertical-align: middle;"></i>');
3329            },
3330            error: function(xhr) {
3331              $('.global-cart-loading').hide();
3332              $('.global-cart-count').show();
3333              self.loading = false;
3334              if (xhr.status === 429) {
3335                themeHelper.ajaxLoadingMsg('hide', 0);
3336                self.closeProductModal();
3337                window.showAddCartRateLimitModal(5);
3338                return;
3339              }
3340              themeHelper.ajaxLoadingMsg('fail', 2000);
3341            }
3342          }).done(function(data, status, request){
3343            // product modal 立即購買按鈕
3344            window.sendAddToCartEvent && sendAddToCartEvent({
3345              price: productData.price,
3346              quantity: productData.quantity,
3347              id: productData.product.id,
3348              name: productData.product.title,
3349              category: productData.product.productType,
3350              brand: productData.product.vendor,
3351              qc: productData.variant.qc,
3352              variant: {
3353                id: productData.variant.id,
3354                title: productData.variant.title,
3355                sku: productData.variant.sku,
3356                price: productData.variant.price,
3357                qc: productData.variant.qc,
3358              },
3359              position: "商品彈出視窗",
3360              request,
3361            })
3362            if (self.isQuickBuy) {
3363              if (window.liquidHelper && window.liquidHelper.language && window.liquidHelper.language.handle) {
3364                window.location = "/" + window.liquidHelper.language.handle + "/cart";
3365              } else {
3366                window.location = "/cart";
3367              }
3368            } else {
3369              themeHelper.ajaxLoadingMsg('success');
3370              pullNavCart();
3371              $('.shopcart').dropdown('show')
3372              $('.global-cart-loading').hide();
3373              self.loading = false;
3374            }
3375            if(typeof checkoutAddToCartCallback === 'function'){
3376              var callbackData = {
3377                id: productData.id,
3378                quantity: productData.quantity,
3379                title: productData.product ? productData.product.title : productData.title || ''
3380              };
3381              checkoutAddToCartCallback(callbackData)
3382            }
3383            peh.emit('product:add_to_cart', [{
3384              variantId: productData.id,
3385              quantity: productData.quantity
3386            }], self.collectionId);
3387          }).fail(function(e){
3388            if (e.status === 429) {
3389              return;
3390            }
3391            let err_msg = e.responseJSON.err_msg;
3392            err_msg && err_msg.length > 0 ?
3393              window.msg(e.responseJSON.err_msg, 'warning').show():
3394              window.msg("加入購物車有誤,請重新嘗試", 'warning').show();
3395          })
3396        },
3397        quantityDecrease: function(cartItem, isAdded){
3398          if (cartItem.quantity > 1) {
3399            cartItem.quantity -= 1;
3400          } else {
3401            window.msg("數量不得為低於 1", 'warning').show();
3402          }
3403        },
3404        quantityIncrease: function(cartItem, isAdded){
3405          const limitQuantity = cartItem.variant.inventoryQuantity;
3406          const limitBuy = cartItem.product.limitBuy
3407          if (limitBuy && cartItem.quantity >= limitBuy) {
3408            product_limit_buy = "此商品限購 limitBuy 件".replace('limitBuy', limitBuy)
3409            window.msg(product_limit_buy, 'warning').show();
3410            return;
3411          } else if (cartItem.quantity >= liquidHelper.cartQuantityLimit) {
3412            window.msg("數量超過購買上限", 'warning').show();
3413          } else if ( cartItem.quantity < limitQuantity || limitQuantity === null ||
3414            cartItem.variant.inventoryPolicy == "continue" || shouldSkipQuantityCheck) {
3415            cartItem.quantity += 1;
3416          } else {
3417            this.showInventoryMessage(limitQuantity);
3418          }
3419        },
3420        quantityChange: function(quantity, cartItem, isAdded){
3421          const limitBuy = cartItem.product.limitBuy
3422          var limitQuantity = cartItem.variant.inventoryQuantity;
3423          var inventoryPolicy = cartItem.variant.inventoryPolicy;
3424          if (Number.isInteger(quantity)) {
3425            if (quantity >= 1) {
3426              if (limitBuy && quantity >= limitBuy) {
3427                product_limit_buy = "此商品限購 limitBuy 件".replace('limitBuy', limitBuy)
3428                window.msg(product_limit_buy, 'warning').show();
3429              } else if (quantity > liquidHelper.cartQuantityLimit) {
3430                window.msg("數量超過購買上限", 'warning').show();
3431              } else if (quantity <= limitQuantity || limitQuantity === null || inventoryPolicy == "continue" || shouldSkipQuantityCheck) {
3432                cartItem.quantity = quantity;
3433              } else {
3434                cartItem.quantity = limitQuantity;
3435                this.showInventoryMessage(limitQuantity);
3436              }
3437            } else {
3438              window.msg("數量不得為低於 1", 'warning').show();
3439            }
3440          } else {
3441            window.msg("數量輸入錯誤", 'warning').show();
3442          }
3443        },
3444        popModal: function(productUrl, collectionId, color, isCollection, isShowDescription, isQuickBuy, variantId, checkoutAddToCartCallback, categories){
3445          this.showProductModal = true;
3446          this.collectionId = collectionId;
3447          this.categories = categories || [];
3448          this.popProductUrl = productUrl;
3449          this.color = color || ''; // unused
3450          this.isCollection = isCollection || false;
3451          this.isShowDescription = isShowDescription != false;
3452          this.isQuickBuy = isQuickBuy || false;
3453          this.selectedVariantId = parseInt(variantId) || undefined;
3454          this.checkoutAddToCartCallback = checkoutAddToCartCallback;
3455          document.body.style.overflow = "hidden";
3456        },
3457        closeProductModal: function() {
3458          this.showProductModal = false;
3459          document.body.style.overflow = "";
3460        },
3461        showInventoryMessage: function(inventoryQuantity) {
3462          const stockMessage = "商品庫存剩餘 count 件".replace('count', inventoryQuantity || 0);
3463          window.msg(stockMessage, 'warning').show();
3464        },
3465      }
3466    });
3467
3468    for (const componentName in window.themeHelper.productModalComponents) {
3469      newAddCartModalApp.component(
3470        componentName,
3471        window.themeHelper.productModalComponents[componentName],
3472      );
3473    }
3474
3475    window.new_addcart_modal = newAddCartModalApp.mount();
3476  });
3477</script>
3477
3478
3479<!-- cyb_snippet new_addcart_modal end -->
3480<!-- cyb_snippet components/variant_options/variant_photos_block start -->
3481<script type="text/x-template" id="variant-photos-block">
3482  <div class="product_photos qk-w--100">
3483    <!-- 有色票 -->
3484    <div class="product_photo img-flex qk-text--center" v-if="displayProductImagesColor">
3485      <img id="photo_with_images_color" class="img-lazy" :src="imgLoadingImage" data-src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfYjM5ZjBlMzk0ZDc4MWU2YTIzZGYuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e5035eca4d1205f4" alt="鋁箔手提保冷禮袋" width="450" height="450">
3486    </div>
3487    <!-- 沒色票 -->
3488    <div class="swiper swiper-container product_img_swiper" v-else>
3489      <ul class="swiper-wrapper qk-pd--0 qk-mg--0">
3490        <video-display
3491          v-if="shouldShowVideo && !videoAfterImage"
3492          :poster="!!showPhotos.length ? showPhotos[0].imageUrl : imgLoadingImage"
3493          :videoUrl="videoUrl"
3494        ></video-display>
3495        <li class="swiper-slide product_photo img-flex qk-text--center qk-of--hidden default_scale"
3496          v-for="photo in showPhotos"
3497          :key="photo.id"
3498        >
3499          <img
3500            :data-src="photo.imageUrl"
3501            width="450"
3502            height="450"
3503            class="swiper-lazy"
3504            alt="鋁箔手提保冷禮袋"
3505            @click="onEnlargePhotos()"
3506          />
3507          <div class="swiper-lazy-preloader"></div>
3508        </li>
3509        <li v-if="showDefault" class="swiper-slide product_photo img-flex qk-text--center qk-of--hidden default_scale">
3510          <img :src="imgLoadingImage" data-src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfYjM5ZjBlMzk0ZDc4MWU2YTIzZGYuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e5035eca4d1205f4" alt="鋁箔手提保冷禮袋" width="450" height="450" class="swiper-lazy">
3511        </li>
3512        <video-display
3513          v-if="shouldShowVideo && videoAfterImage"
3514          :poster="!!showPhotos.length ? showPhotos[0].imageUrl : imgLoadingImage"
3515          :videoUrl="videoUrl"
3516        ></video-display>
3517      </ul>
3518      <!-- Add Arrows -->
3519      <div class="photo-swiper-next qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v1 qk-swiper_btn--next qk-hidden--mobile"></div>
3520      <div class="photo-swiper-prev qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v1 qk-swiper_btn--prev qk-hidden--mobile"></div>
3521      <div class="photo-pagination qk-bd--default qk-bd--body qk-text--center qk-text--body qk-fs--breadcrumb qk-visible-sm">
3522        <span class="current-index qk-text--default_dark">${activePhotoIndex + 1}</span><span class="pagination-slash">/</span>
3523        <span>${shouldShowVideo ? (showPhotos.length ? showPhotos.length + 1 : 2) : showPhotos.length || 1}</span>
3524      </div>
3525    </div>
3526    <!-- 圖片頁碼 -->
3527    <div v-if="showThumbnails" class="thumb qk-of--auto qk-hidden--phone">
3528      <ul class="thumb-container qk-display--il_flex">
3529        <video-thumbnail
3530          v-if="shouldShowVideo && !videoAfterImage"
3531          :active="isVideoActive"
3532          :video-url="videoUrl"
3533          @click="onClickThumbnail(videoIndex)"
3534        ></video-thumbnail>
3535        <li class="img-flex qk-bd--default qk-bd--border qk-cursor--pointer qk-of--hidden qk-display--il_flex"
3536          :class="{active: (shouldShowVideo && !videoAfterImage ? index + 1 : index) === activePhotoIndex}"
3537          v-for="(photo, index) in showPhotos"
3538          :key="photo.id"
3539          @click="onClickThumbnail(shouldShowVideo && !videoAfterImage ? index + 1 : index)"
3540        >
3541          <img class="img-lazy" :src="imgLoadingImage" :data-src="photo.imageUrl" alt="鋁箔手提保冷禮袋" width="50" height="50">
3542        </li>
3543        <li v-if="showDefault"
3544          class="img-flex qk-bd--default qk-bd--border qk-of--hidden qk-display--il_flex"
3545          :class="{active: (shouldShowVideo && !videoAfterImage ? 1 : 0) === activePhotoIndex}"
3546        >
3547          <img class="img-lazy" :src="imgLoadingImage" data-src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfYjM5ZjBlMzk0ZDc4MWU2YTIzZGYuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e5035eca4d1205f4" alt="鋁箔手提保冷禮袋" width="50" height="50">
3548        </li>
3549        <video-thumbnail
3550          v-if="shouldShowVideo && videoAfterImage"
3551          :active="isVideoActive"
3552          :video-url="videoUrl"
3553          @click="onClickThumbnail(videoIndex)"
3554        ></video-thumbnail>
3555      </ul>
3556    </div>
3557  </div>
3558</script>
3558
3559
3560<script type="text/javascript">
3561  $(document).ready(function() {
3562    var autoSelectVariantBySku = true;
3563
3564    themeHelper.variantPhotosBlock.component('variant-photos-block', {
3565      template: '#variant-photos-block',
3566      delimiters: ['${', '}'],
3567      data: function() {
3568        return {
3569          variantPhotos: null,
3570          productPhotosMap: {},
3571          productPhotos: [],
3572          manualSelectedVariant: false,
3573          activePhotoIndex: 0,
3574          _navState: { variantId: null, photoIndex: 0 },
3575          suppressNavigateEvent: false,
3576          currentVariantForEvent: null,
3577          swiperPhotos: null,
3578          swiperGalleryChangeHandler: null,
3579          showDefault: true,
3580          videoUrl: '',
3581          videoAfterImage: false,
3582          imgLoadingImage:"//cdn-general.cybassets.com/img_loading.svg",
3583          thumbScrollHandler: null,
3584          thumbScrollTimeout: null,
3585          showThumbnails: false,
3586        }
3587      },
3588      props: {
3589        displayProductImagesColor: Boolean,
3590        productPhotosJson: String,
3591        productVideo: Object,
3592        videoDisplayLocation: String,
3593        productId: [String, Number],
3594        productTitle: String,
3595      },
3596      mounted: async function() {
3597        this.productPhotos = JSON.parse(this.productPhotosJson.replace(/'/g, '"'));
3598        this.productPhotosMap =
3599          this.productPhotos.reduce((acc, cur) => {
3600            acc[cur.id] = cur;
3601            return acc;
3602          }, {});
3603        this.videoUrl = !!this.productVideo && this.productVideo.url;
3604        this.showDefault = !this.showPhotos.length;
3605        this.videoAfterImage = this.videoDisplayLocation === 'after';
3606        themeHelper.EventBus.$on('updatePhotos', this.onUpdatePhotos);
3607        this.swiperGalleryChangeHandler = (_event, payload) => this.onSwiperGalleryChange(payload);
3608        $(document).on('swiper-gallery-change', this.swiperGalleryChangeHandler);
3609
3610        var sku = window.getURLParameter('sku');
3611
3612        if (sku && autoSelectVariantBySku) {
3613          themeHelper.EventBus.$on('skuReady', this.onSkuReady);
3614        } else {
3615          this.showThumbnails = true;
3616          await this.initPhotosUI();
3617        }
3618      },
3619      beforeUnmount: function() {
3620        this.removeThumbScrollListener();
3621        if (this.swiperGalleryChangeHandler) {
3622          $(document).off('swiper-gallery-change', this.swiperGalleryChangeHandler);
3623        }
3624      },
3625      methods: {
3626        navigateItemImagePayload: function(state, slideIndex, videoOffset) {
3627          return themeHelper.buildNavigateItemImagePayload(state, {
3628            product: { id: this.productId, title: this.productTitle },
3629            currentVariant: this.currentVariantForEvent,
3630            visiblePhotos: this.showPhotos,
3631            slideIndex: slideIndex,
3632            videoOffset: videoOffset,
3633          });
3634        },
3635        initPhotosUI: async function() {
3636          await this.$nextTick();
3637          this.initSwiper();
3638
3639          this._navState = this.navigateItemImagePayload(this._navState, this.initialItemIndex, this.videoOffset).nextState;
3640
3641          // 初始化縮圖滾動監聽
3642          this.initThumbScrollListener();
3643
3644          const videoElement = $('.product_video.swiper-slide-active video')[0];
3645          if (videoElement) {
3646            videoElement.addEventListener('canplay', (event) => {
3647              this.sendGtag('play');
3648            }, { once: true });
3649          }
3650        },
3651        onSkuReady: async function() {
3652          await this.initPhotosUI();
3653          this.showThumbnails = true;
3654          await this.$nextTick();
3655          imgLazyLoad.update();
3656          themeHelper.EventBus.$emit('skuPhotosReady');
3657        },
3658        initThumbScrollListener: function() {
3659          const thumbScrollContainer = this.$el.querySelector('.thumb');
3660
3661          if (thumbScrollContainer) {
3662            this.removeThumbScrollListener();
3663            this.thumbScrollHandler = () => {
3664              clearTimeout(this.thumbScrollTimeout);
3665              this.thumbScrollTimeout = setTimeout(() => {
3666                if (window.imgLazyLoad) {
3667                  imgLazyLoad.update();
3668                }
3669              }, 100);
3670            };
3671            thumbScrollContainer.addEventListener('scroll', this.thumbScrollHandler);
3672          }
3673        },
3674        removeThumbScrollListener: function() {
3675          const thumbScrollContainer = this.$el.querySelector('.thumb');
3676
3677          if (thumbScrollContainer && this.thumbScrollHandler) {
3678            thumbScrollContainer.removeEventListener('scroll', this.thumbScrollHandler);
3679            clearTimeout(this.thumbScrollTimeout);
3680            this.thumbScrollHandler = null;
3681          }
3682        },
3683        sendGtag: function(action){
3684          window.productVideoView && productVideoView(action);
3685        },
3686        handleVideoClick: function() {
3687          const video = $('.product_video.swiper-slide-active video')[0];
3688          const button = $('.product_video.swiper-slide-active button');
3689          if (video.paused){
3690            video.play();
3691            this.sendGtag('play');
3692          } else {
3693            video.pause();
3694            this.sendGtag('paused');
3695          }
3696          this.handleVideoButtonDisplay(button, video);
3697        },
3698        handleVideoButtonDisplay: function(button, video) {
3699          button.toggleClass('videoPlayer__playButton', video.paused);
3700          button.toggleClass('videoPlayer__pauseButton', !video.paused);
3701        },
3702        onUpdatePhotos: async function(currentVariant) {
3703          this.suppressNavigateEvent = true;
3704          this.currentVariantForEvent = currentVariant && currentVariant.variant
3705            ? { id: currentVariant.variant.id, sku: currentVariant.variant.sku }
3706            : null;
3707          if (this.swiperPhotos) {
3708            this.swiperPhotos.destroy(true, true);
3709          }
3710          $('.product_img_swiper .swiper-slide-duplicate').remove();
3711          $('.product_img_swiper .swiper-lazy-loading').removeClass('swiper-lazy-loading');
3712          this.manualSelectedVariant = currentVariant ? currentVariant.withSpecificVariant : false;
3713          if (currentVariant && currentVariant.photos.length) {
3714            this.variantPhotos = currentVariant.photos.map(p => this.productPhotosMap[p.id]);
3715          } else  {
3716            this.variantPhotos = null;
3717          }
3718
3719          this.activePhotoIndex = this.initialItemIndex;
3720
3721          this._navState = this.navigateItemImagePayload(this._navState, this.activePhotoIndex, this.videoOffset).nextState;
3722          await this.$nextTick();
3723          imgLazyLoad.update();
3724          this.initSwiper();
3725          this.suppressNavigateEvent = false;
3726        },
3727        onEnlargePhotos: function() {
3728          gallery_img.updateImgs(this.maxPhotos);
3729          gallery_img.toggleGallery(true, {
3730            index: this.swiperPhotos.realIndex - this.videoOffset
3731          });
3732        },
3733        onSwiperGalleryChange: function(payload) {
3734          if (!payload || payload.galleryName !== 'img') return;
3735
3736          var result = this.navigateItemImagePayload(
3737            {
3738              variantId: this.currentVariantForEvent ? this.currentVariantForEvent.id : null,
3739              photoIndex: payload.fromIndex,
3740            },
3741            payload.toIndex,
3742            0
3743          );
3744
3745          if (result.payload && !this.suppressNavigateEvent) {
3746            window.navigateItemImage(result.payload);
3747          }
3748        },
3749        onClickThumbnail: function(index) {
3750          this.activePhotoIndex = index;
3751          this.swiperPhotos.slideTo(index + 1, 500);
3752        },
3753        setVideosVolumeZero: function() {
3754          // video duplication because of swiper loop mode
3755          const videos = $('.product_video video');
3756          videos.each((_index, el)=> {
3757              el.volume = 0;
3758          });
3759        },
3760        initSwiper: function() {
3761          var self = this;
3762          this.swiperPhotos = new Swiper('.product_img_swiper', {
3763            preloadImages: false,
3764            lazy: {
3765              loadPrevNext: true,
3766            },
3767            loop: true,
3768            navigation: {
3769              nextEl: '.photo-swiper-next',
3770              prevEl: '.photo-swiper-prev',
3771            },
3772            initialSlide: this.initialItemIndex,
3773          });
3774          if (self.videoUrl) {
3775            self.setVideosVolumeZero();
3776          }
3777          this.swiperPhotos.on('touchEnd', function () {
3778            setTimeout(function() {
3779              self.activePhotoIndex = self.swiperPhotos.realIndex;
3780            }, 300);
3781          });
3782          this.swiperPhotos.on('activeIndexChange', function() {
3783            self.activePhotoIndex = self.swiperPhotos.realIndex;
3784          });
3785          this.swiperPhotos.on('click', function () {
3786            if (self.isVideoActive) {
3787              self.handleVideoClick()
3788            }
3789          });
3790          this.swiperPhotos.on('transitionEnd', function () {
3791            if (self.isVideoActive) {
3792              const video = $('.product_video.swiper-slide-active video')[0];
3793              const button = $('.product_video.swiper-slide-active button');
3794              self.handleVideoButtonDisplay(button, video);
3795            }
3796          });
3797        }
3798      },
3799      computed: {
3800        shouldShowVideo: function() {
3801          return !!this.videoUrl;
3802        },
3803        initialItemIndex: function() {
3804          if (this.shouldShowVideo && !this.videoAfterImage) {
3805            // Focus on photo if "variant with photos" selected, video otherwise
3806            return (this.manualSelectedVariant && !!this.variantPhotos?.length) ? 1 : 0;
3807          } else {
3808            // Focus on first photo
3809            return 0;
3810          }
3811        },
3812        isVideoActive: function() {
3813          return this.shouldShowVideo && this.activePhotoIndex === this.videoIndex;
3814        },
3815        showPhotos: function() {
3816          return this.variantPhotos || this.productPhotos;
3817        },
3818        maxPhotos: function() {
3819          return this.showPhotos.map(p => p.imageMaxUrl);
3820        },
3821        videoIndex: function(){
3822          return this.videoAfterImage
3823            ? this.manualSelectedVariant && !!this.variantPhotos?.length
3824              ? this.variantPhotos?.length
3825              : this.showPhotos.length || 1
3826            : 0
3827        },
3828        videoOffset: function() {
3829          return (this.shouldShowVideo && !this.videoAfterImage) ? 1 : 0;
3830        },
3831      },
3832      watch: {
3833        activePhotoIndex: function(newIndex) {
3834          var result = this.navigateItemImagePayload(this._navState, newIndex, this.videoOffset);
3835          this._navState = result.nextState;
3836          if (result.payload && !this.suppressNavigateEvent) {
3837            window.navigateItemImage(result.payload);
3838          }
3839        },
3840      }
3841    });
3842  })
3843</script>
3843
3844
3845<!-- cyb_snippet components/variant_options/video_display start -->
3846<script type="text/x-template" id="video-display">
3847  <li
3848    class="swiper-slide product_video img-flex qk-text--center qk-of--hidden default_scale">
3849    <div class="videoPlayer__wrapper qk-of--hidden">
3850      <video
3851        class="videoPlayer__video qk-cursor--pointer"
3852        :poster="poster"
3853        loop defaultMuted muted playsinline webkit-playsinline autoplay
3854      >
3855        <source :src="videoUrl" type="video/mp4">
3856        <p>你的瀏覽器不支援 HTML 5 video</p>
3857      </video>
3858      <button class="videoPlayer__pauseButton"></button>
3859    </div>
3860  </li>
3861</script>
3861
3862
3863<script type="text/javascript">
3864  $(document).ready(function() {
3865    themeHelper.variantPhotosBlock.component('video-display', {
3866      template: '#video-display',
3867      delimiters: ['${', '}'],
3868      data: function() {
3869        return {
3870          imgLoadingImage:"//cdn-general.cybassets.com/img_loading.svg",
3871        }
3872      },
3873      props: {
3874        poster: String,
3875        showPhotos: Object,
3876        videoUrl: String,
3877      },
3878    });
3879  })
3880</script>
3880
3881
3882<!-- cyb_snippet components/variant_options/video_display end -->
3883<!-- cyb_snippet components/variant_options/video_thumbnail start -->
3884<script type="text/x-template" id="video-thumbnail">
3885  <li
3886    :class="{active}"
3887    class="img-flex qk-bd--default qk-bd--border qk-cursor--pointer qk-of--hidden qk-display--il_flex"
3888    @click="click"
3889  >
3890    <video width="50" height="50">
3891      <source :src="videoUrl" type="video/mp4">
3892    </video>
3893    <button class="videoPlayer__playButton"></button>
3894  </li>
3895</script>
3895
3896
3897<script type="text/javascript">
3898  $(document).ready(function() {
3899    themeHelper.variantPhotosBlock.component('video-thumbnail', {
3900      template: '#video-thumbnail',
3901      delimiters: ['${', '}'],
3902      props: {
3903        active: Boolean,
3904        click: Function,
3905        videoUrl: String,
3906      },
3907    });
3908  })
3909</script>
3909
3910
3911<!-- cyb_snippet components/variant_options/video_thumbnail end -->
3912
3913<!-- cyb_snippet components/variant_options/variant_photos_block end -->
3914<!-- cyb_snippet components/variant_options/variant_options_block start -->
3915<script type="text/x-template" id="variant-options-block">
3916  <div>
3917    <div v-for="(option, index) in optionInfo" class="product-variant-option" :class="{'product-variant-option--hidden': shouldHideSingleVariantOptions}">
3918        <p></p>
3919        <color-option
3920          v-if="isImageColor && option.name === '顏色'"
3921          :option-key="'option' + (index + 1)"
3922          :option="option"
3923          :image-colors="imageColors"
3924          :current-image-index="currentImageIndex"
3925          :set-current-image-index="setCurrentImageIndex"
3926          :get-option-image-index="getOptionImageIndex"
3927          :current-option="currentOption"
3928        />
3929        <div class="advance variant-select-option" v-else-if="styledShopMenu==='dropDownType'">
3930          
3931          <label>${option.name}</label>
3932          <svg height="20" width="20" viewBox="0 0 20 20" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><path d="M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"> </path></svg>
3933          <select v-show="!isMobileSize" class="qk-bg--theme_bg" :class="{'select_placeholder-color': currentOption[`option${index + 1}`] === null}" :value="String(currentOption[`option${index + 1}`])" @change="setOption(`option${index + 1}`, $event.target.value, option.types )" >
3934            <option value="null" class="select_option-hidden">請選擇${option.name}</option>
3935            <option  v-for="(types) in option.types" :disabled="!types.isValid" :value="types.name">${types.name}</option>
3936          </select>
3937          <span class="select_placeholder-color" v-if="currentOption[`option${index + 1}`] === null" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)">請選擇${option.name}</span>
3938          <span v-else :value="currentOption[`option${index + 1}`]" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)" v-html="currentOption[`option${index + 1}`]"></span>
3939        </div>
3940        <advance-variant-option
3941          v-else
3942          :option-key="'option' + (index + 1)"
3943          :option="option"
3944          :current-option="currentOption"
3945        />
3946      </div>
3947    <div class="mobile-modal" :class="{ 'modal-open': isModalSelectShow && isMobileSize }">
3948        <div class="mobile_modal-content">
3949          
3950          <div class="modal_close-button">
3951            <button class="btn-close qk-circle qk-circle--md qk-pos--abs qk-op--100  qk-text--heading qk-bd--product_border qk-bd--default" @click="onChangeModalSelect(false,true)"></button>
3952          </div>
3953          <p>請選擇${modalOption.name}</p>
3954          <div class="modal_select-templete qk-display--flex qk-of_y--auto qk-w--100">
3955            <div class="options-container">
3956              <label :class="{'seleced-option': currentOption && currentOption[selectOption] === data.name, 'avoid-clicks':!data.isValid}" v-for="data in modalOption.types" @click="setOption(selectOption, data.name, modalOption.types)">${data.name}</label>
3957            </div>
3958          </div>
3959          <div v-if="isCartEnabled && salesModePurchasable" class="modal_select_footer qk-display--flex qk-hidden--pc">
3960            <div v-show="variantSize === 1" class="qk-display--flex qk-w--100">
3961              <div class="product_variant_quantity">
3962                <span class="product_quantity">
3963                  <div v-if="isModalSelectShow && isMobileSize" class="btn-group" role="group" aria-label="First group">
3964                    <button class="btn add-down qk-bd--product_border" type="button" @click="quantityChange(false)" ></button>
3965                    <input class="btn item-quantity qk-text--heading qk-bd--product_border" type="text" name="quantity" value="1" data-old-value="1">
3966                    <button class="btn add-up qk-bd--product_border" type="button" @click="quantityChange(true)"></button>
3967                  </div>
3968                </span>
3969              </div>
3970              <button
3971                class="btn addToCart_mobile btn_to_cart_mobile open_product_modal qk-btn qk-btn--secondary qk-flex--1 qk-fs--breadcrumb qk-text-truncate"
3972                data-handle="999910002">
3973                加入購物車</button>
3974            </div>
3975            <div v-show="variantSize > 1" class="qk-display--flex qk-w--100">
3976              <button type="button" class="modal_cancel qk-w--50 qk-bd--default qk-btn--secondary qk-bd--button qk-text--button" @click="onChangeModalSelect(false,false)">取消</button>
3977              <button type="button" class="qk-btn qk-w--50 qk-btn--primary qk-btn--lg qk-fs--body qk-bd--button qk-test--button_text" @click="onChangeModalSelect(false,true)">完成</button>
3978            </div>
3979          </div>
3980        </div>
3981    </div>
3982  </div>
3983</script>
3983
3984
3985<!-- cyb_snippet components/variant_options/color_image_option start -->
3986<script id="color-option" type="text/x-template">
3987  <div class="option color_option">
3988    <span class="title qk-text--heading">商品顏色:</span>
3989    <label
3990      v-for="(imageColor, index) in imageColors"
3991      :class="{
3992        'image-option': true,
3993        'selected': selectedClass(index),
3994        'disabled': disabledClass(index),
3995      }"
3996      @mouseleave="setCurrentImageIndex(index)"
3997      @mouseover="getOptionImageIndex(index)"
3998      @click="setOption(optionKey, index)"
3999      class="qk-bd--default qk-bd--border"
4000    >
4001      <span class="img-flex qk-display--il_bk">
4002        <img v-if="imageColor !== 'noColorImage'" :src="imageColor.large" alt="image">
4003        <img v-else src="/assets/no-image-large.png" alt="image">
4004      </span>
4005    </label>
4006  </div>
4007</script>
4007
4008
4009<script type="text/javascript">
4010  $(document).ready(function () {
4011    themeHelper.variantOptionsBlock.component('color-option', {
4012      template: '#color-option',
4013      delimiters: ['${', '}'],
4014      props: {
4015        optionKey: String,
4016        option: Object,
4017        imageColors: Array,
4018        setCurrentImageIndex: Function,
4019        getOptionImageIndex: Function,
4020        currentOption: Object,
4021      },
4022      methods: {
4023        setOption: function(optionKey, index) {
4024          var type = this.option.types[index];
4025          if (type.isValid) {
4026            themeHelper.EventBus.$emit('toggleCurrentOption', optionKey, type.name);
4027          }
4028        },
4029        selectedClass: function(index) {
4030          return this.currentOption[this.optionKey] === this.option.types[index].name;
4031        },
4032        disabledClass: function(index) {
4033          return !this.option.types[index].isValid;
4034        },
4035      },
4036    });
4037  });
4038</script>
4038
4039
4040<!-- cyb_snippet components/variant_options/color_image_option end -->
4041<!-- cyb_snippet components/variant_options/advance_option start -->
4042<script id="advance-variant-option" type="text/x-template">
4043  <div class="advance">
4044    <div class="option_title qk-text--heading">${option.name}</div>
4045    <label
4046      v-for="type in option.types"
4047      :class="{
4048        'selected': selectedClass(type),
4049        'disabled': disabledClass(type),
4050      }"
4051      @click="setOption(optionKey, type)"
4052      class="option qk-btn qk-btn--md qk-bd--button qk-text--button qk-text--center qk-pd_x--1"
4053    >
4054      <span class="text">${type.name}</span>
4055    </label>
4056  </div>
4057</script>
4057
4058
4059<script type="text/javascript">
4060  $(document).ready(function() {
4061    themeHelper.variantOptionsBlock.component('advance-variant-option', {
4062      template: '#advance-variant-option',
4063      delimiters: ['${', '}'],
4064      props: {
4065        optionKey: String,
4066        option: Object,
4067        currentOption: Object,
4068      },
4069      methods: {
4070        setOption: function(optionKey, type) {
4071          if(type.isValid){
4072            themeHelper.EventBus.$emit('toggleCurrentOption', optionKey, type.name);
4073          }
4074        },
4075        selectedClass: function(type) {
4076          return this.currentOption[this.optionKey] === type.name;
4077        },
4078        disabledClass: function(type) {
4079          return !type.isValid;
4080        },
4081      }
4082    });
4083  });
4084</script>
4084
4085
4086<!-- cyb_snippet components/variant_options/advance_option end -->
4087
4088
4089<!-- cyb_snippet _variant_options_block_js start -->
4090<script type="text/javascript">
4091  $(document).ready(function() {
4092    themeHelper.variantOptionsBlock.component('variant-options-block', {
4093      template: '#variant-options-block',
4094      delimiters: ['${', '}'],
4095      props: {
4096        productApiUrl: String,
4097        sku: String,
4098        autoSelectVariantBySku: Boolean,
4099        hideOtherVariantsBySku: Boolean,
4100        hideSingleVariantOptions: Boolean,
4101        salesModePurchasable: Boolean,
4102        defaultPrice: String,
4103        defaultComparePrice: String,
4104        defaultDiscounted: Boolean,
4105      },
4106      data: function() {
4107        return {
4108          styledShopMenu: "buttonType",
4109          currentImageIndex: 0,
4110          isModalSelectShow: false,
4111          selectOption: '',
4112          selectCurrentStr:'',
4113          modalOption: {},
4114          currentOption: {
4115            option1: null,
4116            option2: null,
4117            option3: null,
4118          },
4119          currentVariant: null,
4120          product: {},
4121          isLoading: true,
4122          isImageColorsUsed: liquidHelper.isImageColorsUsed,
4123          isEmptyClickable: liquidHelper.isEmptyClickable,
4124          hasPriceWithDiscountPlugin: liquidHelper.hasPriceWithDiscountPlugin,
4125          isCartEnabled: liquidHelper.isCartEnabled,
4126        }
4127      },
4128      mounted: function() {
4129        this.getProductDetail();
4130        themeHelper.EventBus.$on('toggleCurrentOption',this.toggleCurrentOption);
4131      },
4132      computed: {
4133        imageColors: function() {
4134          //色票一定成對
4135          var self = this;
4136          var images = this.photoUrls.slice(0);
4137          var imageColorNum = this.colorOption.length;
4138          for(var i = imageColorNum; i < imageColorNum * 2; i++) {
4139            if(!images[i]) {
4140              images.push('noColorImage');
4141            }
4142          }
4143          return images.slice(imageColorNum, imageColorNum * 2);
4144        },
4145        photoUrls: function() {
4146          return this.product.photoUrls.length > 0 ? this.product.photoUrls : [this.featuredImage];
4147        },
4148        featuredImage: function() {
4149          return this.product.featuredImage;
4150        },
4151        swiperPhotos: function() {
4152          if(this.isImageColor) {
4153            return this.photoUrls.slice(0, this.colorOption.length);
4154          }
4155          return this.photoUrls.length > 0 ? this.photoUrls : [this.featuredImage];
4156        },
4157        firstValidVariant: function() {
4158          var self = this;
4159          var result = this.product.variants.find(function(variant) {
4160            return variant.available;
4161          });
4162
4163          return result ? result : null;
4164        },
4165        shouldHideOtherVariants: function() {
4166          return this.hideOtherVariantsBySku &&
4167                 this.sku &&
4168                 this.currentVariant &&
4169                 this.currentVariant.sku === this.sku;
4170        },
4171        shouldHideSingleVariantOptions: function() {
4172          return this.hideSingleVariantOptions &&
4173                 this.product.variants &&
4174                 this.product.variants.length <= 1;
4175        },
4176        options: function() {
4177          return this.product.options;
4178        },
4179        optionTypes: function() {
4180          // 先根據設定的variants來排序
4181          var self = this;
4182
4183          var option1 = [];
4184          var option2 = [];
4185          var option3 = [];
4186          this.product.variants.forEach(function(item) {
4187            if (item.option1 !== null) option1.push(item.option1);
4188            if (item.option2 !== null) option2.push(item.option2);
4189            if (item.option3 !== null) option3.push(item.option3);
4190          })
4191
4192          var filteredOptionTypes = [];
4193          this.product.optionTypes.forEach(function(item, index) {
4194            filteredOptionTypes.push(self.getUniqueVariant(eval('option' + (index + 1))).join(','));
4195          });
4196
4197          return filteredOptionTypes;
4198        },
4199        optionInfo: function() {
4200          var self = this;
4201
4202          if (self.options) {
4203            return self.options.map(function(option, index) {
4204              return {
4205                name: option,
4206                types: self.getOptions('option' + (index + 1), self.optionTypes[index].split(','))
4207              }
4208            });
4209          }
4210        },
4211        colorOptionIndex: function() {
4212          return this.options.findIndex(function(option) {
4213            return option === '顏色';
4214          });
4215        },
4216        colorOption: function() {
4217          var optionIndex = this.colorOptionIndex
4218          return optionIndex === -1 ? null : this.optionTypes[optionIndex].split(',');
4219        },
4220        isImageColor: function() {
4221          return this.isImageColorsUsed && _.includes(this.product.options, '顏色');
4222        },
4223        isMobileSize: function() {
4224          return window.innerWidth <= 580
4225        },
4226        variantSize: function() {
4227          if(this.product.options){
4228          return this.product.options.length;
4229          }
4230        },
4231        isAutoSelectVariantBySku: function() {
4232          return this.sku && this.autoSelectVariantBySku;
4233        },
4234      },
4235      methods: {
4236        onClickSelectModal: function(objData, selectOptionStr) {
4237          this.isModalSelectShow = true;
4238          this.modalOption = objData;
4239          this.selectOption = selectOptionStr
4240        },
4241        onChangeModalSelect: function(flag, isSelect) {
4242          if(!isSelect){
4243            this.setOption(this.selectOption,this.selectCurrentStr,this.modalOption.types)
4244          }
4245          this.isModalSelectShow = flag;
4246        },
4247        setOption: function(optionKey, type, dataArr) {
4248          let flag = true
4249          dataArr.forEach(item => {
4250            if (item.name === type) {
4251              flag = item.isValid
4252            }
4253          })
4254          if (flag) {
4255            this.toggleCurrentOption(optionKey, type)
4256          }
4257        },
4258        setChoose: function(currentVariant) {
4259          var currentVariantData = {};
4260          if (currentVariant) {
4261            currentVariantData = {
4262              id: this.currentVariant.id,
4263              bonus: this.currentVariant.maxUsableBonus,
4264              name: this.currentVariant.title,
4265              inventoryPolicy: this.currentVariant.inventoryPolicy,
4266              compareAtPrice: this.currentVariant.compareAtPrice,
4267              imgUrl: this.currentVariant.imgUrl,
4268              inventoryQuantity: this.currentVariant.inventoryQuantity,
4269              option1: this.currentVariant.option1,
4270              option2: this.currentVariant.option2,
4271              option3: this.currentVariant.option3,
4272              price: this.currentVariant.price,
4273              productId: this.currentVariant.productId,
4274              sku: this.currentVariant.sku,
4275              qc: this.currentVariant.qc,
4276              hidePrice: this.product.hidePrice === true,
4277            };
4278          } else {
4279            currentVariantData = {
4280              price: this.defaultPrice,
4281              compareAtPrice: this.defaultComparePrice,
4282              isDiscounted: this.defaultDiscounted,
4283              hidePrice: this.product.hidePrice === true,
4284            }
4285          }
4286          const isUpcomingProduct = this.isSellTimeAfterNow(this.product.sellFrom);
4287          this.$emit('set-choose', currentVariantData, isUpcomingProduct);
4288        },
4289        onError: function() {
4290          window.msg("", 'error').show();
4291        },
4292        showRateLimitPopup: function() {
4293          showRateLimitModal(5);
4294        },
4295
4296        // get product detail
4297        getProductDetail: function() {
4298          var self = this;
4299          $.ajax({
4300            url: self.productApiUrl + '.json',
4301            type: 'GET',
4302            timeout: 30000,
4303            beforeSend: function() {
4304              self.isLoading = true;
4305            },
4306            error: function(xhr){
4307              if (xhr.status === 429) {
4308                self.isLoading = false;
4309                self.showRateLimitPopup();
4310              } else {
4311                self.onError();
4312              }
4313            }
4314          }).done(function(data){
4315            if (!data.id) {
4316              self.onError();
4317              return;
4318            }
4319
4320            var productData = [themeHelper.toCamelCase(data)];
4321            self.product = themeHelper.priceWithDiscount(productData, self.hasPriceWithDiscountPlugin)[0];
4322
4323            var shouldSkipAutoSelected = false;
4324
4325            if (self.isAutoSelectVariantBySku) {
4326              var skuVariant = self.product.variants.find(function(variant) {
4327                return variant.sku === self.sku;
4328              });
4329
4330              if (skuVariant) {
4331                if (self.isEmptyClickable ||
4332                  skuVariant.inventoryPolicy === "continue" ||
4333                  skuVariant.inventoryQuantity > 0) {
4334                  self.applyVariant(skuVariant, true);
4335                  themeHelper.EventBus.$emit('skuReady');
4336                  self.isLoading = false;
4337                  return;
4338                } else {
4339                  // 若 sku 存在但不可購買,則跳過第一個款式選擇
4340                  shouldSkipAutoSelected = true;
4341                }
4342              } else {
4343                // 若 sku 不存在,則跳過第一個款式選擇
4344                shouldSkipAutoSelected = true;
4345              }
4346              themeHelper.EventBus.$emit('skuReady');
4347            }
4348
4349            if (
4350              !shouldSkipAutoSelected && (
4351              self.product.variants.length === 1 ||
4352              liquidHelper.isFirstVariantSelected
4353            )) {
4354              var variant = self.product.variants.length === 1 ? self.product.variants[0] : self.firstValidVariant;
4355              if (!variant) {
4356                self.isLoading = false;
4357                return;
4358              }
4359
4360              if (
4361                !self.isEmptyClickable &&
4362                variant.inventoryPolicy === "deny" &&
4363                variant.inventoryQuantity === 0
4364              ) {
4365                self.isLoading = false;
4366                return;
4367              }
4368
4369              self.applyVariant(variant, false);
4370              if (self.isImageColorsUsed) { // 若有顯示色票且有預選第一個款式的更換圖片
4371                var firstValidColorIndex = self.colorOption.findIndex(function(item) {
4372                  return item === variant.option1
4373                });
4374                self.$emit('get-option-image', self.photoUrls[firstValidColorIndex].grande);
4375              }
4376            }
4377
4378            self.isLoading = false;
4379          })
4380        },
4381        applyVariant: function(variant, waitPhotosReady) {
4382          var self = this;
4383          this.currentVariant = variant;
4384          this.setChoose(variant);
4385          this.setDefaultOption();
4386
4387          if (waitPhotosReady) {
4388            themeHelper.EventBus.$on('skuPhotosReady', function () {
4389              if (variant.photos && variant.photos.length > 0) {
4390                self.setVariantPhotos();
4391              }
4392            });
4393          } else {
4394            this.setVariantPhotos();
4395          }
4396        },
4397        toggleCurrentOption: function(key, value) {
4398          if (this.product.variants.length === 1) {
4399            return;
4400          }
4401
4402          if (this.shouldHideOtherVariants) {
4403            return;
4404          }
4405
4406          this.currentOption[key] =
4407            (this.currentOption[key] === value || value === 'null') ? null : value;
4408          var variantIndex = this.getVariantIndex();
4409          if(variantIndex !== -1) {
4410            this.currentVariant = this.product.variants[variantIndex];
4411          } else {
4412            this.currentVariant = null;
4413          }
4414          this.setChoose(this.product.variants[variantIndex]);
4415          if (this.currentOption[key] !== null) {
4416            var optionIndex = parseInt(key.replace('option', '')) - 1;
4417            appStoreSelectItemEvent(this.product, this.product.options[optionIndex], this.currentOption[key], this.currentVariant);
4418          }
4419          if (Object.values(this.currentOption).every(v => v === null) || this.currentVariant) {
4420            this.setVariantPhotos();
4421          }
4422        },
4423        setCurrentImageIndex: function(index) {
4424          this.currentImageIndex = this.getSelectedColorIndex();
4425          if (this.currentImageIndex > -1) {
4426            var currentImageIndex = this.currentImageIndex;
4427          } else {
4428            var currentImageIndex = 0;
4429          }
4430
4431          this.$emit('get-option-image', this.photoUrls[currentImageIndex].grande);
4432        },
4433        getOptionImageIndex: function(index) {
4434          this.currentImageIndex = index;
4435          this.$emit('get-option-image', this.photoUrls[index].grande);
4436        },
4437        setDefaultOption: function() {
4438          var self = this;
4439          Object.keys(self.currentOption).forEach(function(optionKey) {
4440            self.currentOption[optionKey] = self.currentVariant[optionKey];
4441          });
4442        },
4443        getVariantIndex: function() {
4444          var self = this;
4445          return self.product.variants.findIndex(function(variant, index) {
4446            var isVariant = true;
4447            Object.keys(self.currentOption).forEach(function(option) {
4448              if(variant[option] !== self.currentOption[option]){
4449                isVariant = false;
4450              }
4451            });
4452            return isVariant;
4453          });
4454        },
4455        // 篩選重複品項
4456        getUniqueVariant: function(variants) {
4457          return variants.filter(function(value, index, self) {
4458            return self.indexOf(value) === index;
4459          });
4460        },
4461        // 取得已選取的color index
4462        getSelectedColorIndex: function() {
4463          var self = this;
4464          var optionIndex = _.indexOf(self.options, '顏色') + 1;
4465          var color = self.currentOption['option' + optionIndex];
4466
4467          return _.indexOf(self.colorOption, color);
4468        },
4469        getOptions: function(optionKey, optionTypes) {
4470          var self = this;
4471
4472          // 透過 sku 預選且有對應的 variant,則只顯示該 variant 的 option
4473          if (this.shouldHideOtherVariants) {
4474            var currentOptionValue = this.currentVariant[optionKey];
4475            var isValid = true;
4476
4477            if (!this.isEmptyClickable) {
4478              isValid = this.currentVariant.inventoryQuantity === null ||
4479                        this.currentVariant.inventoryQuantity > 0 ||
4480                        this.currentVariant.inventoryPolicy === 'continue';
4481            }
4482
4483            return [{
4484              name: currentOptionValue,
4485              isValid: isValid
4486            }];
4487          }
4488
4489          return optionTypes.map(function(optionType, index) {
4490            var isValid = true;
4491
4492            // 選出包含目前type的variant
4493            var matchVariants = self.product.variants.filter(function(variant) {
4494              return variant[optionKey] === optionType;
4495            });
4496            // 篩選已勾選type
4497            Object.keys(self.currentOption).forEach(function(currentOptionKey) {
4498              if(currentOptionKey !== optionKey){
4499                matchVariants = matchVariants.filter(function(variant) {
4500                  if(self.currentOption[currentOptionKey]) {
4501                    return variant[currentOptionKey] === self.currentOption[currentOptionKey]
4502                  } else {
4503                    return true;
4504                  }
4505                });
4506              }
4507            });
4508            // 無variant代表此type不可選
4509            if(matchVariants.length === 0) {
4510              isValid = false;
4511            }
4512
4513            if (!self.isEmptyClickable) {
4514              isValid = false;
4515              matchVariants.find(function(item) {
4516                if (item.inventoryQuantity === null || item.inventoryQuantity > 0 || item.inventoryPolicy === 'continue') {
4517                  isValid = true;
4518                }
4519              });
4520            }
4521
4522            return {
4523              name: optionType,
4524              isValid: isValid
4525            }
4526          });
4527        },
4528        getVariantPhotos: function() {
4529          if (!this.currentVariant) {
4530            return null;
4531          }
4532
4533          if (!this.currentVariant.photos || this.currentVariant.photos.length === 0) {
4534            return {
4535              withSpecificVariant: !!this.currentVariant.option1,
4536              photos: [],
4537              variant: {
4538                id: this.currentVariant.id,
4539                sku: this.currentVariant.sku
4540              },
4541            };
4542          }
4543
4544          var sortedPhotos = this.currentVariant.photos.sort(function(prev, next) {
4545            return prev.position - next.position;
4546          });
4547
4548          return {
4549            withSpecificVariant: !!this.currentVariant.option1,
4550            photos: sortedPhotos,
4551            variant: {
4552              id: this.currentVariant.id,
4553              sku: this.currentVariant.sku
4554            },
4555          };
4556        },
4557        setVariantPhotos: function() {
4558          themeHelper.EventBus.$emit('updatePhotos', this.getVariantPhotos());
4559        },
4560        cartQuantityCheck({quantity, limitQuantity, cartLimit, inventoryPolicy}){
4561          if(quantity < 1){
4562            return 'less_then_1';
4563          }
4564          if(quantity > limitQuantity && limitQuantity !== null && inventoryPolicy !== "continue") {
4565            return 'over_product_quantity';
4566          }
4567          if(quantity > cartLimit){
4568            return 'over_cart_limit';
4569          }
4570          if(isNaN(quantity)){
4571            return 'not_a_number';
4572          }
4573          return '';
4574        },
4575        changeQuantity({elType, errType, quantity, addToCart, quantityInput, limitQuantity, cartLimit}){
4576          if(errType === ''){
4577            if(elType === 'btn'){
4578              quantityInput.val(quantity);
4579              quantityInput.trigger('change');
4580            }
4581            var old = quantityInput.data("old-value");
4582            if(quantity === old){
4583              quantityInput.data("old-value", quantity);
4584            }
4585            // for GA
4586            addToCart.data("quantity", quantity);
4587          } else {
4588            var old_value = quantityInput.data("old-value");
4589            if(elType === 'input'){
4590              switch(errType){
4591                case 'less_then_1':
4592                  quantityInput.val(1);
4593                  break;
4594                case 'over_product_quantity':
4595                  quantityInput.val(limitQuantity);
4596                  break;
4597                case 'over_cart_limit':
4598                  quantityInput.val(cartLimit);
4599                  break;
4600                default:
4601                  quantityInput.val(old_value);
4602                  break;
4603              }
4604            }
4605            this.cartQuantityMessage(errType)
4606          }
4607        },
4608        cartQuantityMessage(errType) {
4609          switch(errType){
4610            case 'less_then_1':
4611              window.msg(language["less_then_one"], 'warning').show();
4612              break;
4613            case 'over_product_quantity':
4614              window.msg(language["over_product_quantity"], 'warning').show();
4615              break;
4616            case 'over_cart_limit':
4617              window.msg(language["over_cart_limit"], 'warning').show();
4618              break;
4619            case 'not_a_number':
4620              window.msg(language["please_enter_number"], 'warning').show();
4621              break;
4622            default:
4623              break;
4624          }
4625        },
4626        quantityChange(isPluSquantity){
4627          if (!this.findVariant()) {
4628            return;
4629          }
4630          let errType           = '';
4631          let el                = $('#product');
4632          let cartLimit         = this.getCartQuantityLimit(el);
4633          let limitQuantity     = selectedVariant.inventoryQuantity;
4634          let inventoryPolicy   = selectedVariant.inventoryPolicy;
4635          let quantityInput     = el.find(".product_quantity input");
4636          let quantity          = parseInt($(quantityInput).val());
4637          let addToCart         = el.find('.addToCart');
4638          isPluSquantity ? quantity += 1: quantity -= 1
4639          errType = this.cartQuantityCheck({quantity, limitQuantity, cartLimit, inventoryPolicy});
4640          this.changeQuantity({ elType: 'btn', errType, quantity, addToCart, quantityInput, limitQuantity, cartLimit});
4641        },
4642        findVariant() {
4643          if (typeof selectedVariant === 'undefined' || !$.isNumeric(selectedVariant.id)) {
4644            window.msg(language["please_choose_product"], 'info').show();
4645            return false;
4646          } else {
4647            return true;
4648          }
4649        },
4650        getCartQuantityLimit(el) {
4651          return el.data('cart_quantity_limit');
4652        },
4653        isSellTimeAfterNow(sellTime) {
4654          if (!sellTime) return false;
4655          const saleTime = new Date(sellTime);
4656          const now = new Date();
4657          return saleTime > now;
4658        },
4659      }
4660    });
4661  });
4662</script>
4662
4663
4664<!-- cyb_snippet _variant_options_block_js end -->
4665
4666<!-- cyb_snippet components/variant_options/variant_options_block end -->
4667<!-- cyb_snippet _custom_icon start -->
4668<script src='//cdn-general.cybassets.com/frontend/shop/navIcon-e958d46bfee2e69f.js' type='text/javascript'></script>
4668
4669
4670<script>
4671  (function() {
4672    const iconUrlMap = new Map([
4673      ['custom_icon_type_home', "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NTEzX-mmlumggWljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=ca9695a5f4971a45"],
4674      ['custom_icon_type_tracking_items', "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NTI0X-aUtuiXj2ljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=99bdec6ef0f298ba"],
4675      ['custom_icon_type_account', "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYxODA5NTgyX-acg-WToWljb25hLnBuZy5wbmciXV0.png?sha=e513bfc18a8d91bd"],
4676      ['custom_icon_type_cart', "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NDk4X-izvOi7imljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=662e013f72b7115c"],
4677      ['custom_icon_type_search', "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NTA2X-aQnOWwi2ljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=5e15db7342f146c6"],
4678      ['custom_icon_type_menu', ""]
4679    ]);
4680    const elements = document.querySelectorAll('[data-icon-type]');
4681    elements.forEach((element, index) => {
4682      const iconAttributes = element.getAttribute('data-icon-type');
4683
4684      const uniqueId = `icon_${iconAttributes}_${index}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
4685      element.id = uniqueId;
4686      window.renderNavCustomIcon(`#${uniqueId}`, {
4687        navIconStyle: "icon_type_custom",
4688        customIconUrl: iconUrlMap.get(iconAttributes) || '',
4689        iconAttributes: iconAttributes,
4690        currentTemplate: "product",
4691      });
4692    });
4693  })();
4694</script>
4694
4695
4696<!-- cyb_snippet _custom_icon end -->
4697
4698<script>
4699  // 設定款式資訊/顯示款式資訊
4700  function getURLParameter(name) {
4701    return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [null, ''])[1].replace(/\+/g, '%20')) || null;
4702  }
4703  // sku_properties:各款式的 option pairs(當前語系,後端 drop 已翻譯),事件用 variantId 查表
4704  var variantProperties = {
4705    "84890442": []
4706  };
4707  function addToWishListEvent(id, data) {
4708    try {
4709      if (appMarketAddToWishListEvent && data) {
4710        var dataSet = {
4711          name: "鋁箔手提保冷禮袋",
4712          category: null,
4713          categories: [],
4714          sku: data.sku,
4715          price: data.price,
4716          compare_at_price: data.compare_at_price,
4717          properties: variantProperties[id] || [],
4718          quantity: data.inventory_quantity,
4719          variant: data.variant,
4720          listName: "單產品細覽" || null,
4721          productId: 69561326,
4722          variantId: id,
4723        }
4724        appMarketAddToWishListEvent(dataSet)
4725      }
4726    } catch (e) {
4727      console.error(e);
4728    }
4729  }
4730  function removeFromWishListEvent(id, data) {
4731    try {
4732      if (appMarketRemoveFromWishListEvent && data) {
4733        var dataSet = {
4734          name: "鋁箔手提保冷禮袋",
4735          category: null,
4736          categories: [],
4737          sku: data.sku,
4738          price: data.price,
4739          compare_at_price: data.compare_at_price,
4740          properties: variantProperties[id] || [],
4741          quantity: data.inventory_quantity,
4742          variant: data.variant,
4743          listName: "單產品細覽" || null,
4744          productId: 69561326,
4745          variantId: id,
4746        }
4747        appMarketRemoveFromWishListEvent(dataSet)
4748      }
4749    } catch (e) {
4750      console.error(e);
4751    }
4752  }
4753  function isSellTimeAfterNow(sellTime) {
4754    if (!sellTime) return false;
4755    const saleTime = new Date(sellTime);
4756    const now = new Date();
4757    return saleTime > now;
4758  }
4759  $(document).ready(function() {
4760  var ProductInfoObject =  new ProductInfo()
4761    ProductInfoObject.init({
4762      additionalPrice: "加購價",
4763      sellFrom: "" ,
4764      productId:"69561326",
4765      productTitle: "鋁箔手提保冷禮袋",
4766      productPreOrder: "預購商品",
4767      productExistingVariantsFirstId: '84890442',
4768      productNotificationEnabled: '已登記補貨通知',
4769      productNotifyMeWhenStockArrives: '已售完,貨到通知我',
4770      productOptionsSize: "0",
4771      productPleaseChooseProduct: "請選擇商品款式",
4772      generalInternetError: "網路連線異常,請重新整理",
4773      productVariantsInfo: "84890442,999910002,15.0,1401,15.0,deny,0.0,,鋁箔手提保冷禮袋 - ,cyberbiz,",
4774      productLimitBuy:  null,
4775      purchaseEligibility: {"required":false,"eligible":true,"status":"eligible"},
4776      salesModePurchasable: true,
4777    });
4778    // 商品款式
4779    var isUpcomingProduct = isSellTimeAfterNow("") && null;
4780    // 初始化,取得消費者所有品項的通知設定
4781    var variantNotifications = {};
4782    
4783      ProductInfoObject.initVariantNotifications();
4784    
4785    // 初始化,檢查所有商品的庫存,判斷購物車按鈕和庫存顯示狀態
4786    ProductInfoObject.checkButtonStatus(isUpcomingProduct);
4787    // 加入購物車 open product modal
4788    ProductInfoObject.initOpenProductModal();
4789    // 立即購買 mobile product modal
4790    ProductInfoObject.initMobileProductModal()
4791    // 聯絡商家
4792    ProductInfoObject.initContactTheMerchant()
4793    // 貨到通知
4794    ProductInfoObject.initGoodsArrivalNotification();
4795    ProductInfoObject.checkInWishList(window.$('.product-variant-id').val())
4796    
4797      ProductInfoObject.setUpDiscountsTag();
4798    
4799    
4800    })
4801
4802    const userAgent = navigator.userAgent;
4803    const isIOS = /iPad|iPhone|iPod/.test(userAgent) && !window.MSStream;
4804    const isLiff = /Line\/[\d.]+/i.test(userAgent);
4805    const $productButtonMobile = $('.product_button_mobile');
4806
4807    if ($productButtonMobile.length && isIOS && isLiff) {
4808      $productButtonMobile.addClass('is-ios-liff');
4809    }
4810</script>
4810
4811
4812
4813<div id="product_description" class="product_description">
4814  <div class="desc_sections">
4815    <ul class="qk-bg--theme_bg qk-display--flex qk-mg--0 qk-pd--0 qk-bd--default qk-bd--product_border qk-bd_r--none">
4816      <!-- 商品介紹 -->
4817      
4818        <li class="qk-flex--1">
4819          <a href="#desc_section_1" class="scroll active qk-text--text qk-fs--title qk-display--il_bk qk-text--center qk-w--100 qk-vert--bottom">
4820            商品介紹
4821          </a>
4822        </li>
4823      
4824      <!-- 規格說明 -->
4825      
4826        <li class="qk-flex--1 qk-bd--product_border">
4827          <a href="#desc_section_2" class="scroll qk-text--text qk-fs--title qk-display--il_bk qk-text--center qk-w--100 qk-vert--bottom">
4828            <div>商品規格</div>
4829          </a>
4830        </li>
4831      
4832      <!-- 運送方式 -->
4833      
4834      <!-- 票券注意事項 -->
4835      
4836      <!-- 加入購物車modal -->
4837      
4838        <li class="add-to-cart-container qk-flex--1 qk-bd--product_border">
4839          <a
4840            href="#"
4841            id="add_to_cart"
4842            class="open_product_modal qk-btn qk-btn--primary qk-btn--lg qk-pos--abs qk-r--0 qk-display--il_bk qk-text--center qk-w--100"
4843            data-id="69561326"
4844            data-handle="999910002">
4845            <div>加入購物車</div>
4846          </a>
4847          <button class="btn btn_not_sale hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-fs--title qk-pos--abs qk-r--0" type="button">
4848            尚未開賣
4849          </button>
4850          <button class="btn btn_login_to_view hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-fs--title qk-pos--abs qk-r--0" type="button">
4851            登入查看資格
4852          </button>
4853          <button class="btn btn_not_eligible hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-fs--title qk-pos--abs qk-r--0" type="button">
4854            購買資格不符
4855          </button>
4856          
4857            <a
4858              href="#"
4859              id="notice_to_buy"
4860              class="btn_notice qk-btn qk-btn--primary qk-btn--lg qk-pos--abs qk-r--0 qk-display--il_bk qk-text--center qk-w--100">
4861              <div>已售完,貨到通知我</div>
4862            </a>
4863          
4864        </li>
4865      
4866    </ul>
4867  </div>
4868  <div class="desc_body">
4869    <div id="ckeditor">
4870      
4871        <div id="desc_section_1" class="desc_section qk-pd_t--2">
4872          <h5 class="section-heading qk-text--heading qk-fs--hd2 qk-bd_l--default qk-bd--heading qk-pd_l--05">商品介紹</h5>
4873          <div class="ckeditor qk-mg_t--1"><p style="text-align:center"><img alt="" src="//cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_dea0ab33-bd8c-4005-9150-96c72cb4af1f.jpg" width="800"></p>
4874
4875<p><span style="font-family:Arial,Helvetica,sans-serif;"><span style="color:#4e5f70;"><strong><span style="font-size:20px;">鋁箔手提保冷禮袋</span></strong><br>
4876<span style="font-size:16px;">魔鬼氈封口,可折疊收扁。<br>
4877容量可裝三盒泡芙(正常盒型)。<br>
4878外出簡易保冷保熱都實用。<br>
4879全站任選2件商品<br>
4880可於購物車結帳時以$10選購</span></span></span></p>
4881
4882<p style="text-align:center"><img alt="" height="800" src="//cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_9d2927ed-fdd9-427d-9bc0-f1f1bea62a44.jpg" width="800"></p>
4883
4884<p style="text-align:center"><img alt="" src="//cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_753fd29f-4e64-48b9-82a9-1d2e2fbc7894.jpg" width="800"></p>
4885
4886<p style="text-align:center"><img alt="" src="//cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_d187ab52-f86b-450a-884b-adff19149855.jpg" width="800"></p>
4887
4888<p>&nbsp;</p>
4889
4890<p style="text-align:center"><img alt="" src="//cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_b45c2bfa-5638-46d9-b248-b4bd4a97d9cb.jpg" width="800"></p>
4891
4892<p>&nbsp;</p>
4893</div>
4894        </div>
4895      
4896      
4897        <div id="desc_section_2" class="desc_section qk-pd_t--2">
4898          <h5 class="section-heading qk-text--heading qk-fs--hd2 qk-bd_l--default qk-bd--heading qk-pd_l--05">商品規格</h5>
4899          <div class="ckeditor qk-mg_t--1"><p><span style="font-family:Arial,Helvetica,sans-serif;"><span style="font-size:14px;"><span style="color:#4e5f70;">高32cmx寬23.5cmx側邊11.5cm<br>
4900帽簷3.5cm</span></span></span></p>
4901
4902<p><span style="font-family:Arial,Helvetica,sans-serif;"><span style="font-size:14px;"><span style="color:#4e5f70;">材質:不織布腹膜、保溫鋁膜、魔鬼氈封口</span></span></span></p>
4903</div>
4904        </div>
4905      
4906      
4907      
4908    </div>
4909  </div>
4910  <div id="product-recommendation"></div>
4911</div>
4912
4913<script>
4914  $(document).ready(function() {
4915    // 商品說明介紹標籤
4916    $(".desc_sections li").on('click', function() {
4917      $(this).children().addClass('active');
4918      $(this).siblings().children().removeClass('active');
4919    });
4920
4921    // 滑動設置
4922    var prevScrollPos = window.pageYOffset;
4923    var prevScrollInformationPos = window.pageYOffset;
4924    $(window).on('scroll load resize', function(e) {
4925      var headerHeight = $("#header").height()
4926      var desc_sections = $(".desc_sections");
4927      var desc_section_list = $(".desc_section");
4928      var descSectionHeight = $(".desc_sections").height()
4929      var descSectionTop = $(".desc_sections").offset().top - headerHeight
4930      var product_window = $(this);
4931      var currentScrollPos = window.pageYOffset;
4932
4933      // 滑動固定產品說明
4934      if (product_window.scrollTop() > descSectionTop) {
4935        desc_sections.find("ul").css({"top": 0});
4936        if (currentScrollPos > prevScrollPos && product_window.scrollTop() > descSectionTop + headerHeight) {
4937          desc_sections
4938            .stop()
4939            .addClass("desc_sections_hold")
4940            .css({"min-height": descSectionHeight})
4941            .find("ul")
4942            .css({"top": 0});
4943        } else if (prevScrollPos > currentScrollPos) {
4944          desc_sections
4945            .stop()
4946            .addClass("desc_sections_hold")
4947            .css({"min-height": descSectionHeight})
4948            .find("ul")
4949            .css({"top": headerHeight});
4950        } else {
4951          prevScrollPos = 0;
4952        } prevScrollPos = currentScrollPos;
4953        if ($(window).width() < 768) {
4954          $("body").css("padding-bottom", "68px");
4955        }
4956      } else {
4957        prevScrollPos = 0;
4958        desc_sections.stop().removeClass("desc_sections_hold")
4959        if ($(window).width() < 768) {
4960          $("body").css("padding-bottom", "68px");
4961        }
4962      }
4963
4964      // 點選產品說明滑動
4965      $(".desc_sections a.scroll").bind("click", function(event) {
4966        var targetScrollTop = parseInt($($(this).attr("href")).offset().top - descSectionHeight + 1);
4967        if (targetScrollTop > window.scrollY + 1) {
4968          $("html, body").stop().animate({
4969            scrollTop: targetScrollTop
4970          }, 300);
4971        } else {
4972          $("html, body").stop().animate({
4973            scrollTop: targetScrollTop - headerHeight
4974          }, 300);
4975        }
4976      });
4977
4978      // 顯示當前產品說明
4979      if (currentScrollPos > prevScrollInformationPos) {
4980        $.each(desc_section_list, function(index, desc_section) {
4981          var desc_sectionTop = $(desc_section).offset().top - descSectionHeight - 1
4982          var desc_sectionHeight = $(desc_section).height()
4983          var current_desc_section = $("a.scroll[href$='" + $(desc_section).attr("id") + "']");
4984          if (product_window.scrollTop() > desc_sectionTop || index === 0) {
4985            current_desc_section
4986              .stop()
4987              .addClass('active')
4988              .parent()
4989              .siblings()
4990              .find("a")
4991              .removeClass('active');
4992          } else {
4993            current_desc_section.removeClass('active');
4994          } prevScrollInformationPos = currentScrollPos;
4995        });
4996      } else {
4997        $.each(desc_section_list, function(index, desc_section) {
4998          var desc_sectionTop = $(desc_section).offset().top - descSectionHeight - 1
4999          var desc_sectionHeight = $(desc_section).height()
5000          var current_desc_section = $("a.scroll[href$='" + $(desc_section).attr("id") + "']");
5001          if (product_window.scrollTop() + headerHeight > desc_sectionTop) {
5002            current_desc_section
5003              .stop()
5004              .addClass('active')
5005              .parent()
5006              .siblings()
5007              .find("a")
5008              .removeClass('active');
5009          } else {
5010            current_desc_section.removeClass('active');
5011          }
5012        });
5013        prevScrollInformationPos = currentScrollPos;
5014      }
5015    });
5016  })
5017</script>
5017
5018
5019
5020
5021
5022
5023<div id="related-products" class="qk-pos--rel">
5024  
5025  
5026  
5027    
5028      
5029        
5030        
5031        
5032          
5033      
5034    
5035  
5036  
5037    <h5 class="section-heading qk-text--heading qk-fs--hd2 qk-bd_l--default qk-bd--heading qk-pd_l--05">推薦商品</h5>
5038    
5039    <!-- cyb_snippet swiper_product start -->
5040<div id="swiper_products" class="qk-pos--rel">
5041  <div class="swiper swiper-container swiper_products GTM-area">
5042    <div class="swiper-wrapper">
5043      
5044      
5045        
5046        
5047        
5048        
5049        <div class="swiper-slide product qk-text--start" data-sold-out="false" data-sales-mode-purchasable="true">
5050          
5051            <div class="integrated_product_labels qk-pos--abs qk-text--left">
5052              
5053            </div>
5054          
5055          <div class="product_image default_scale">
5056            <div class="product_mask"></div>
5057            <a class="productClick img-flex GTM-info qk-h--100 qk-display--flex qk-justify--center qk-align--center"
5058              href="/products/102029905"
5059              data-brand=""
5060              data-category=""
5061              data-collection_id=""
5062              data-id="69928272"
5063              data-variant-id="85450251"
5064              data-list="相關商品"
5065              data-name="經典幸芙禮組"
5066              data-position="1"
5067              data-price="450.0">
5068              <img data-src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5OTI4MjcyLzE3ODQ3NzYxMTVfMDVmZmY5ZjcwYWE1NTg0NmViM2UuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=67c85c0d4db67b8d"
5069                alt="經典幸芙禮組" class="swiper-lazy feature-image" />
5070              
5071                
5072              
5073              <div class="swiper-lazy-preloader-white"></div>
5074            </a>
5075          </div>
5076          
5077            <div class="product_slogan qk-text--accent qk-text--center qk-bg--theme_bg qk-bd--default qk-bd--product_border ">
5078              <span>一份送得出手的幸福</span>
5079            </div>
5080          
5081          <div class="product_title qk-of--hidden">
5082            <a class="qk-text--heading"
5083              href="/products/102029905">
5084              經典幸芙禮組
5085            </a>
5086          </div>
5087          
5088            
5089          
5090          
5091            <div class="product_price qk-text--price qk-fs--title"><span class="money_tag" data-currency-from="TWD" data-amount="450.0">NT$450</span></div>
5092          
5093          
5094            <div class="product_btn qk-text--center">
5095              
5096                <button
5097                  type="button"
5098                  class="btn btn-cart qk-btn qk-btn--primary qk-btn--lg"
5099                  data-handle="102029905"
5100                  data-collection=""
5101                  data-brand=""
5102                  data-category=""
5103                  data-collection_id=""
5104                  data-id="69928272"
5105                  data-list="相關商品"
5106                  data-name="經典幸芙禮組"
5107                  data-photo="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5OTI4MjcyLzE3ODQ3NzYxMTVfMDVmZmY5ZjcwYWE1NTg0NmViM2UuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=67c85c0d4db67b8d"
5108                  data-price="450.0"
5109                  data-position="1"
5110                  data-spread-size="85450251,102029905,450.0,1709,450.0,deny,5.0,,經典幸芙禮組 - ,cyberbiz,"
5111                  
5112                  data-sku="102029905"
5113                  
5114                  
5115                >
5116                  <span class="text">加入購物車</span>
5117                </button>
5118              
5119              <button type="button" class="btn btn_not_sale hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5120                <span class="text">尚未開賣</span>
5121              </button>
5122              <button type="button" class="btn btn_login_to_view hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5123                <span class="text">登入查看</span>
5124              </button>
5125              <button type="button" class="btn btn_not_eligible hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5126                <span class="text">資格不符</span>
5127              </button>
5128            </div>
5129          
5130        </div>
5131      
5132        
5133        
5134        
5135        
5136        <div class="swiper-slide product qk-text--start" data-sold-out="false" data-sales-mode-purchasable="true">
5137          
5138            <div class="integrated_product_labels qk-pos--abs qk-text--left">
5139              
5140            </div>
5141          
5142          <div class="product_image default_scale">
5143            <div class="product_mask"></div>
5144            <a class="productClick img-flex GTM-info qk-h--100 qk-display--flex qk-justify--center qk-align--center"
5145              href="/products/102010198"
5146              data-brand=""
5147              data-category=""
5148              data-collection_id=""
5149              data-id="58637562"
5150              data-variant-id="71154646"
5151              data-list="相關商品"
5152              data-name="原味泡芙8入"
5153              data-position="2"
5154              data-price="220.0">
5155              <img data-src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzU4NjM3NTYyLzE3ODc1NTYwOTNfOTZhM2ExNTgyODQ3MjI1NmQ0ZDAuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e1d6fe8fca67a34f"
5156                alt="原味泡芙8入" class="swiper-lazy feature-image" />
5157              
5158                
5159              
5160              <div class="swiper-lazy-preloader-white"></div>
5161            </a>
5162          </div>
5163          
5164            <div class="product_slogan qk-text--accent qk-text--center qk-bg--theme_bg qk-bd--default qk-bd--product_border ">
5165              <span>
5165最高人氣、團購冠軍品項!</span>
5166            </div>
5167          
5168          <div class="product_title qk-of--hidden">
5169            <a class="qk-text--heading"
5170              href="/products/102010198">
5171              原味泡芙8入
5172            </a>
5173          </div>
5174          
5175            
5176          
5177          
5178            <div class="product_price qk-text--price qk-fs--title"><span class="money_tag" data-currency-from="TWD" data-amount="220.0">NT$220</span></div>
5179          
5180          
5181            <div class="product_btn qk-text--center">
5182              
5183                <button
5184                  type="button"
5185                  class="btn btn-cart qk-btn qk-btn--primary qk-btn--lg"
5186                  data-handle="102010198"
5187                  data-collection=""
5188                  data-brand=""
5189                  data-category=""
5190                  data-collection_id=""
5191                  data-id="58637562"
5192                  data-list="相關商品"
5193                  data-name="原味泡芙8入"
5194                  data-photo="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzU4NjM3NTYyLzE3ODc1NTYwOTNfOTZhM2ExNTgyODQ3MjI1NmQ0ZDAuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e1d6fe8fca67a34f"
5195                  data-price="220.0"
5196                  data-position="2"
5197                  data-spread-size="71154646,102060101,220.0,,220.0,deny,22.0,,原味泡芙8入 - ,,100"
5198                  
5199                  data-sku="102060101"
5200                  
5201                  
5202                >
5203                  <span class="text">加入購物車</span>
5204                </button>
5205              
5206              <button type="button" class="btn btn_not_sale hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5207                <span class="text">尚未開賣</span>
5208              </button>
5209              <button type="button" class="btn btn_login_to_view hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5210                <span class="text">登入查看</span>
5211              </button>
5212              <button type="button" class="btn btn_not_eligible hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5213                <span class="text">資格不符</span>
5214              </button>
5215            </div>
5216          
5217        </div>
5218      
5219        
5220        
5221        
5222        
5223        <div class="swiper-slide product qk-text--start" data-sold-out="false" data-sales-mode-purchasable="true">
5224          
5225            <div class="integrated_product_labels qk-pos--abs qk-text--left">
5226              
5227            </div>
5228          
5229          <div class="product_image default_scale">
5230            <div class="product_mask"></div>
5231            <a class="productClick img-flex GTM-info qk-h--100 qk-display--flex qk-justify--center qk-align--center"
5232              href="/products/102010298"
5233              data-brand=""
5234              data-category=""
5235              data-collection_id=""
5236              data-id="58690742"
5237              data-variant-id="71236373"
5238              data-list="相關商品"
5239              data-name="巧克力泡芙8入"
5240              data-position="3"
5241              data-price="220.0">
5242              <img data-src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzU4NjkwNzQyLzE3ODc1NTE3MzRfZWViMzEyNWJhOGFhZTlkZGQzMmUuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=5a32c444cea41137"
5243                alt="巧克力泡芙8入" class="swiper-lazy feature-image" />
5244              
5245                
5246              
5247              <div class="swiper-lazy-preloader-white"></div>
5248            </a>
5249          </div>
5250          
5251            <div class="product_slogan qk-text--accent qk-text--center qk-bg--theme_bg qk-bd--default qk-bd--product_border ">
5252              <span>
5252最高人氣、團購冠軍品項!</span>
5253            </div>
5254          
5255          <div class="product_title qk-of--hidden">
5256            <a class="qk-text--heading"
5257              href="/products/102010298">
5258              巧克力泡芙8入
5259            </a>
5260          </div>
5261          
5262            
5263          
5264          
5265            <div class="product_price qk-text--price qk-fs--title"><span class="money_tag" data-currency-from="TWD" data-amount="220.0">NT$220</span></div>
5266          
5267          
5268            <div class="product_btn qk-text--center">
5269              
5270                <button
5271                  type="button"
5272                  class="btn btn-cart qk-btn qk-btn--primary qk-btn--lg"
5273                  data-handle="102010298"
5274                  data-collection=""
5275                  data-brand=""
5276                  data-category=""
5277                  data-collection_id=""
5278                  data-id="58690742"
5279                  data-list="相關商品"
5280                  data-name="巧克力泡芙8入"
5281                  data-photo="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzU4NjkwNzQyLzE3ODc1NTE3MzRfZWViMzEyNWJhOGFhZTlkZGQzMmUuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=5a32c444cea41137"
5282                  data-price="220.0"
5283                  data-position="3"
5284                  data-spread-size="71236373,102060102,220.0,,220.0,deny,22.0,,巧克力泡芙8入 - ,,"
5285                  
5286                  data-sku="102060102"
5287                  
5288                  
5289                >
5290                  <span class="text">加入購物車</span>
5291                </button>
5292              
5293              <button type="button" class="btn btn_not_sale hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5294                <span class="text">尚未開賣</span>
5295              </button>
5296              <button type="button" class="btn btn_login_to_view hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5297                <span class="text">登入查看</span>
5298              </button>
5299              <button type="button" class="btn btn_not_eligible hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5300                <span class="text">資格不符</span>
5301              </button>
5302            </div>
5303          
5304        </div>
5305      
5306        
5307        
5308        
5309        
5310        <div class="swiper-slide product qk-text--start" data-sold-out="false" data-sales-mode-purchasable="true">
5311          
5312            <div class="integrated_product_labels qk-pos--abs qk-text--left">
5313              
5314            </div>
5315          
5316          <div class="product_image default_scale">
5317            <div class="product_mask"></div>
5318            <a class="productClick img-flex GTM-info qk-h--100 qk-display--flex qk-justify--center qk-align--center"
5319              href="/products/102010398"
5320              data-brand=""
5321              data-category=""
5322              data-collection_id=""
5323              data-id="58690743"
5324              data-variant-id="71236374"
5325              data-list="相關商品"
5326              data-name="咖啡泡芙8入"
5327              data-position="4"
5328              data-price="220.0">
5329              <img data-src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzU4NjkwNzQzLzE3NzM3MzEyNzFfYjA3MzA2Y2I5YWQ0N2IyOGM0ZDYud2VicCJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.webp?sha=9a013b510e70d9ff"
5330                alt="咖啡泡芙8入" class="swiper-lazy feature-image" />
5331              
5332                
5333              
5334              <div class="swiper-lazy-preloader-white"></div>
5335            </a>
5336          </div>
5337          
5338            <div class="product_slogan qk-text--accent qk-text--center">
5339              <span></span>
5340            </div>
5341          
5342          <div class="product_title qk-of--hidden">
5343            <a class="qk-text--heading"
5344              href="/products/102010398">
5345              咖啡泡芙8入
5346            </a>
5347          </div>
5348          
5349            
5350          
5351          
5352            <div class="product_price qk-text--price qk-fs--title"><span class="money_tag" data-currency-from="TWD" data-amount="220.0">NT$220</span></div>
5353          
5354          
5355            <div class="product_btn qk-text--center">
5356              
5357                <button
5358                  type="button"
5359                  class="btn btn-cart qk-btn qk-btn--primary qk-btn--lg"
5360                  data-handle="102010398"
5361                  data-collection=""
5362                  data-brand=""
5363                  data-category=""
5364                  data-collection_id=""
5365                  data-id="58690743"
5366                  data-list="相關商品"
5367                  data-name="咖啡泡芙8入"
5368                  data-photo="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzU4NjkwNzQzLzE3NzM3MzEyNzFfYjA3MzA2Y2I5YWQ0N2IyOGM0ZDYud2VicCJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.webp?sha=9a013b510e70d9ff"
5369                  data-price="220.0"
5370                  data-position="4"
5371                  data-spread-size="71236374,102060103,220.0,,220.0,deny,22.0,,咖啡泡芙8入 - ,,"
5372                  
5373                  data-sku="102060103"
5374                  
5375                  
5376                >
5377                  <span class="text">加入購物車</span>
5378                </button>
5379              
5380              <button type="button" class="btn btn_not_sale hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5381                <span class="text">尚未開賣</span>
5382              </button>
5383              <button type="button" class="btn btn_login_to_view hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5384                <span class="text">登入查看</span>
5385              </button>
5386              <button type="button" class="btn btn_not_eligible hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5387                <span class="text">資格不符</span>
5388              </button>
5389            </div>
5390          
5391        </div>
5392      
5393    </div>
5394  </div>
5395  <div class="swiper-products-next qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v1 qk-swiper_btn--next"></div>
5396  <div class="swiper-products-prev qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v1 qk-swiper_btn--prev"></div>
5397</div>
5398
5399<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/swiper_product-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' />
5400
5401  <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/integrated_product_labels-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' />
5402
5403
5404<!-- cyb_snippet _combo_product_related_items_modal start -->
5404<script src='//cdn-general.cybassets.com/frontend/shop/standaloneRelatedItemsSelectModal-e958d46bfee2e69f.js' type='text/javascript'></script>
5404
5405  
5405<script>
5406    if (!$('#related-items-select-modal').length) {
5407      $('body').append('<div id="related-items-select-modal"></div>');
5408      document.addEventListener('DOMContentLoaded', function() {
5409        window.renderRelatedItemsSelectModal('#related-items-select-modal', {
5410          hasStockNotificationPlugin: true,
5411          displayProductDiscountsList: true,
5412        });
5413      });
5414    }
5415  </script>
5415<!-- cyb_snippet _combo_product_related_items_modal end -->
5416
5417<script>
5418  $(document).ready(function(){
5419    var slideCount = $(".swiper_products .swiper-slide").length
5420    if (slideCount >= 4){
5421      var autoLoop = true
5422    }else{
5423      var autoLoop = false
5424    }
5425    var SwiperProducts = new Swiper('.swiper_products', {
5426      // Disable preloading of all images
5427      preloadImages: false,
5428      // Enable lazy loading
5429      lazy: {
5430        loadPrevNext: true,
5431      },
5432      loop: autoLoop,
5433      slidesPerView: 1,
5434      spaceBetween: 30,
5435      navigation: {
5436        nextEl: '.swiper-products-next',
5437        prevEl: '.swiper-products-prev',
5438      },
5439      breakpoints: {
5440        '@0.75': {
5441          slidesPerView: 2,
5442          spaceBetween: 20,
5443        },
5444        '@1.00': {
5445          slidesPerView: 3,
5446          spaceBetween: 40,
5447        },
5448        '@1.50': {
5449          slidesPerView: 4,
5450          spaceBetween: 50,
5451        },
5452      }
5453    });
5454
5455    $('#swiper_products .productClick').click(function() {
5456      try {
5457        if (window.appStoreClickItemEvent) {
5458          var $el = $(this);
5459          window.appStoreClickItemEvent({
5460            product_id: String($el.data('id')),
5461            variant_id: String($el.data('variant-id')),
5462            name: $el.data('name'),
5463            price: Number($el.data('price')),
5464            currency: getCurrency(),
5465            category: $el.data('category'),
5466            list_name: 'product',
5467            list_position: Number($el.data('position')),
5468          });
5469        }
5470      } catch (e) {
5471        console.error(e);
5472      }
5473    });
5474
5475    
5476    // new pop modal
5477    $('#swiper_products .btn-cart').click(function() {
5478      var comboProductInfo = $(this).data('comboProductInfo');
5479      if (comboProductInfo) {
5480        window.themeHelper.EventBus.$emit('showRelatedItemsSelectModal', comboProductInfo);
5481      } else {
5482        var productHandle = '/products/' + $(this).data('handle');
5483        var collectionId = $(this).data('collection');
5484        new_addcart_modal.popModal(productHandle, collectionId);
5485      }
5486    });
5487    
5488
5489    const isUpcomingProductsEnabled = null;
5490    // 狀態切換只處理可購買的卡片
5491    $('#swiper_products .product').not('[data-sales-mode-purchasable="false"]').each(function(index) {
5492      const soldOut = $(this).data('sold-out');
5493      const $upcomingText = $(this).find('.upcoming-product-text');
5494      const sellTime = $upcomingText.data('sell-from');
5495      const purchaseRequired = $upcomingText.data('purchase-required');
5496      const purchaseEligible = $upcomingText.data('purchase-eligible');
5497      const purchaseStatus = $upcomingText.data('purchase-status');
5498
5499      const isUpcoming = isUpcomingProductsEnabled && sellTime && new Date(sellTime) > new Date();
5500
5501      const formattedDate = sellTime ? new Date(sellTime).toLocaleString('zh-TW', {
5502        year: 'numeric',
5503        month: '2-digit',
5504        day: '2-digit',
5505        hour: '2-digit',
5506        minute: '2-digit',
5507        hour12: false
5508      }).replace(/\//g, '-').replace(',', '') : '';
5509
5510      let labelText = '';
5511      let buttonClass = '';
5512
5513      if (purchaseRequired && !isUpcoming) {
5514        labelText = '部分會員限定';
5515
5516        if (!purchaseEligible) {
5517          if (!soldOut) {
5518            if (purchaseStatus === 'not_logged_in') {
5519              buttonClass = '.btn_login_to_view';
5520            } else if (purchaseStatus === 'non_eligible') {
5521              buttonClass = '.btn_not_eligible';
5522            }
5523          } else {
5524            buttonClass = '.btn-soldout';
5525          }
5526        }
5527      }
5528      else if (!purchaseRequired && isUpcoming) {
5529        labelText = ' 開賣'.replace('', formattedDate);
5530        buttonClass = '.btn_not_sale';
5531      }
5532      else if (purchaseRequired && isUpcoming) {
5533        const isMobile = window.innerWidth <= 580;
5534        const separator = isMobile ? '\n' : ' ';
5535        labelText = '[部分會員限定]' + separator + ' 開賣'.replace('', formattedDate);
5536        buttonClass = '.btn_not_sale';
5537      } else if (soldOut) {
5538        buttonClass = '.btn-soldout';
5539      }
5540
5541      if (labelText) {
5542        $upcomingText.text(labelText);
5543        $(this).find('.upcoming-product-text').show();
5544      } else {
5545        $upcomingText.hide();
5546      }
5547
5548      if (buttonClass) {
5549        $(this).find('.product_mask').addClass('lift');
5550        // Hide all buttons first
5551        $(this).find('.btn-cart').hide();
5552        $(this).find('.btn-soldout').hide();
5553        $(this).find('.btn_not_sale').hide();
5554        $(this).find('.btn_login_to_view').hide();
5555        $(this).find('.btn_not_eligible').hide();
5556
5557        // Show the appropriate button
5558        $(this).find(buttonClass).removeClass('hidden').show();
5559      }
5560    });
5561
5562    // for GTM
5563    $.each($('.GTM-area'),function(){
5564      var gtm_product = []
5565      $.each($(this).find('.GTM-info'),function(index,product){
5566        productInfo = {
5567          'brand':    $(product).data('brand'),
5568          'category': $(product).data('category'),
5569          'id':       $ (product).data('id'),
5570          'list':     'Collection: '+ $(product).data('list'),
5571          'name':     $(product).data('name'),
5572          'position': $(product).data('position'),
5573          'price':    $ (product).data('price'),
5574          'variant':  ''
5575        }
5576        if(typeof google_analytics_id != "undefined" && window.enable_ga_ee == true){
5577          ga('ec:addImpression', productInfo);
5578        }
5579        if(typeof google_tag_manager_id != 'undefined' || typeof cyb != 'undefined'){
5580          gtm_product.push(productInfo)
5581        }
5582      })
5583      if(typeof google_analytics_id != 'undefined' && window.enable_ga_ee == true){
5584          ga('send', 'event', {'nonInteraction': true});
5585      }
5586      if(typeof google_tag_manager_id != 'undefined' && gtm_product.length > 0){
5587        dataLayer.push({
5588          'event': 'productImpressions',
5589          'ecommerce':{
5590            'impressions': gtm_product
5591          }
5592        });
5593      }
5594      if(typeof cyb != "undefined" && gtm_product.length > 0){
5595        cyb.push({
5596          'event': 'productImpressions',
5597          'impressions': gtm_product
5598        });
5599      }
5600    })
5601  })
5602</script>
5602
5603
5604<!-- cyb_snippet swiper_product end -->
5605  
5606</div>
5607
5608
5609
5610  </div>
5611</div>
5612
5613    </div>
5614
5615    <!-- Footer -->
5616    
5617
5618
5619
5620
5621
5622
5623<style>
5624  
5625  
5626  @media(min-width: 991px) {
5627    .display_x .left-content > div {
5628      max-width: calc(100% / 2);
5629    }
5630  }
5631</style>
5632
5633<div id="index-recommendation"></div>
5634
5635<footer id="footer" class="qk-fs--body qk-bg--footer_bg">
5636  
5637    
5638    <div class="qk-container display_x">
5639      <div class="footer_content qk-mg--0 qk-display--flex qk-justify--between">
5640        <div class="left-content qk-flex--1">
5641          
5642            
5643              <div class="link-list-container">
5644                
5645                  <p class="footer_title qk-fs--title qk-text--footer_text">豆穌朋食品股份有限公司</p>
5646                
5647                <div class="item horizontal qk-text--left">
5648                  <ul class="qk-display--flex qk-flex--wrap">
5649                    
5650                      
5651                        <li class="qk-display--il_bk">
5652                          
5653                            <a
5654                              class="qk-text--footer_text"
5655                              href="/search"
5656                              rel="noopener noreferrer"
5657                              target="_blank">查詢</a>
5658                          
5659                        </li>
5660                      
5661                        <li class="qk-display--il_bk">
5662                          
5663                            <a
5664                              class="qk-text--footer_text"
5665                              href="/pages/about-us"
5666                              rel="noopener noreferrer"
5667                              target="_blank">關於豆穌朋</a>
5668                          
5669                        </li>
5670                      
5671                        <li class="qk-display--il_bk">
5672                          
5673                            <a
5674                              class="qk-text--footer_text"
5675                              href="/account/index"
5676                              rel="noopener noreferrer"
5677                              target="_blank">我的帳戶</a>
5678                          
5679                        </li>
5680                      
5681                        <li class="qk-display--il_bk">
5682                          
5683                            <a
5684                              class="qk-text--footer_text"
5685                              href="/pages/refund"
5686                              rel="noopener noreferrer"
5687                              target="_blank">退款政策</a>
5688                          
5689                        </li>
5690                      
5691                        <li class="qk-display--il_bk">
5692                          
5693                            <a
5694                              class="qk-text--footer_text"
5695                              href="/pages/privacy"
5696                              rel="noopener noreferrer"
5697                              target="_blank">隱私政策</a>
5698                          
5699                        </li>
5700                      
5701                        <li class="qk-display--il_bk">
5702                          
5703                            <a
5704                              class="qk-text--footer_text"
5705                              href="/pages/terms"
5706                              rel="noopener noreferrer"
5707                              target="_blank">服務條款</a>
5708                          
5709                        </li>
5710                      
5711                        <li class="qk-display--il_bk">
5712                          
5713                            <a
5714                              class="qk-text--footer_text"
5715                              href="/pages/會員分級說明"
5716                              rel="noopener noreferrer"
5717                              target="_blank">會員分級說明</a>
5718                          
5719                        </li>
5720                      
5721                    
5722                  </ul>
5723                </div>
5724              </div>
5725              
5726          
5727            
5728              <div class="item contact qk-text--left">
5729                
5730                  <p class="footer_title qk-fs--title qk-text--footer_text">聯絡我們</p>
5731                
5732                <ul>
5733                  
5734                    <li class="phone qk-bd_r--default qk-bd--footer_text qk-display--il_bk">
5735                      <span class="qk-text--footer_text">客服專線:02-29109475</span>
5736                    </li>
5737                  
5738                  
5739                    <li class="fax qk-bd_r--default qk-bd--footer_text qk-display--il_bk">
5740                      <span class="qk-text--footer_text">客服傳真:02-29149741</span>
5741                    </li>
5742                  
5743                  
5744                    <li class="time qk-bd_r--default qk-bd--footer_text qk-display--il_bk">
5745                      <span class="qk-text--footer_text">客服時間:周一~五 09:00-18:00(國定例假日休)</span>
5746                    </li>
5747                  
5748                  
5749                    <br>
5750                    <li class="mail qk-bd_r--default qk-bd--footer_text qk-cursor--pointer qk-display--il_bk">
5751                      <a class="qk-text--footer_text" href="mailto:[email protected]">信箱:[email protected]</a>
5752                    </li>
5753                  
5754                  
5755                    <li class="address qk-bd_r--default qk-bd--footer_text qk-display--il_bk">
5756                      <span class="qk-text--footer_text">地址:新北市新店區寶興路45巷6弄10號1.2樓</span>
5757                    </li>
5758                  
5759                  
5760                    <li class="tax_id qk-bd_r--default qk-bd--footer_text qk-display--il_bk">
5761                      <span class="qk-text--footer_text">統一編號:13101895</span>
5762                    </li>
5763                  
5764                </ul>
5765              </div>
5766              
5767          
5768        </div>
5769        <div class="right-content qk-display--flex qk-flex--column">
5770          
5771            <div class="fb_fanpage qk-hidden--mobile">
5772              <div class="fb_fans_page_area">
5773                <div
5774                  class="fb-page"
5775                  data-href="https://www.facebook.com/218369678214850"
5776                  data-width="500"
5777                  data-adapt-container-width="true"
5778                  data-hide-cover="false"
5779                  data-show-facepile="true">
5780                  <blockquote cite="https://www.facebook.com/218369678214850" class="fb-xfbml-parse-ignore">
5781                    <a target="_blank" rel="noopener noreferrer" href="https://www.facebook.com/218369678214850"></a>
5782                  </blockquote>
5783                </div>
5784              </div>
5785            </div>
5786          
5787          <div class="media qk-display--il">
5788            <div class="item social_media qk-h--auto qk-float--l">
5789              <ul>
5790                
5791                  <li class="qk-display--il_bk">
5792                    <a target="_blank" rel="noopener noreferrer" href="https://www.facebook.com/dosuperfans">
5793                      <svg
5794                        class="facebook-svg"
5795                        xmlns="http://www.w3.org/2000/svg"
5796                        width="40"
5797                        height="40"
5798                        viewBox="0 0 40 40">
5799                        <path class="qk-svg--footer_text" d="M40 20.1208C40 30.1027 32.6767 38.3778 23.1167 39.8795V25.9409H27.765L28.65 20.1742H23.1167V16.4324C23.1167 14.8541 23.89 13.3174 26.3667 13.3174H28.8817V8.4073C28.8817 8.4073 26.5983 8.01729 24.4167 8.01729C19.86 8.01729 16.8833 10.779 16.8833 15.7774V20.1725H11.8183V25.9393H16.8833V39.8779C7.325 38.3745 0 30.101 0 20.1208C0 9.07564 8.955 0.120483 20 0.120483C31.045 0.120483 40 9.07398 40 20.1208Z" />
5800                      </svg>
5801                    </a>
5802                  </li>
5803                
5804                
5805                
5806                
5807              </ul>
5808            </div>
5809          </div>
5810        </div>
5811      </div>
5812    </div>
5813    
5814  <div class="copyright qk-text--footer_text qk-bd--footer_text qk-text--left qk-bd_t--default">
5815    <div class="qk-container container qk-fw--500">
5816      <span>Copyright ©</span>
5817      <a class="qk-text--link" href="/">
5818        <span>豆穌朋官網</span>
5819      </a>
5820      <span>All Rights Reserved.</span>
5821      <span>Designed by
5822      </span>
5823      <a
5824        class="qk-text--link"
5825        href="https://www.cyberbiz.io?utm_source=poweredbycyberbiz"
5826        target="_blank"
5827        rel="noopener noreferrer"
5828        title="Designed by CYBERBIZ">CYBERBIZ</a>.
5829    </div>
5830  </div>
5831  
5832</footer>
5833<script>
5834  $(document).ready(function() {
5835    let isDynamicLoading = false;
5836
5837    let menusData = {
5838      
5839        
5840          "footer": {
5841            
5842              "type": "items",
5843              "data": [
5844                
5845                
5846                  
5847                    {
5848                      "title": "查詢",
5849                      "url": "/search",
5850                      "item_type": "search"
5851                    },
5852                  
5853                    {
5854                      "title": "關於豆穌朋",
5855                      "url": "/pages/about-us",
5856                      "item_type": "page"
5857                    },
5858                  
5859                    {
5860                      "title": "我的帳戶",
5861                      "url": "/account/index",
5862                      "item_type": "http"
5863                    },
5864                  
5865                    {
5866                      "title": "退款政策",
5867                      "url": "/pages/refund",
5868                      "item_type": "refund"
5869                    },
5870                  
5871                    {
5872                      "title": "隱私政策",
5873                      "url": "/pages/privacy",
5874                      "item_type": "privacy"
5875                    },
5876                  
5877                    {
5878                      "title": "服務條款",
5879                      "url": "/pages/terms",
5880                      "item_type": "terms"
5881                    },
5882                  
5883                    {
5884                      "title": "會員分級說明",
5885                      "url": "/pages/會員分級說明",
5886                      "item_type": "page"
5887                    }
5888                  
5889                
5890              ]
5891            
5892          },
5893        
5894      
5895        
5896      
5897    };
5898
5899    if (isDynamicLoading) {
5900      window.DynamicLoading.setupComponent({
5901          sectionId: '#footer',
5902          callbackData:{
5903            section: {"type":"footer","visible":true,"settings":{"footer_link":"footer","display_facebook":true,"shop_facebook":"https://www.facebook.com/dosuperfans","display_instagram":false,"shop_instagram":"https://www.instagram.com/?hl=zh-tw","display_line":false,"shop_line":"https://line.me/zh-hant/","display_youtube":false,"shop_youtube":"https://www.youtube.com/","footer_link_arrangement":"display_x","display_facebook_fan_block":true},"block_order":["default_link_list","default_contact_info"],"blocks":{"default_link_list":{"type":"link_list_setting","thumbnail":"list","draggable":true,"visible":true,"settings":{"dict_link_list_block_title":"豆穌朋食品股份有限公司","footer_link":"footer"},"custom_name":"選單"},"default_contact_info":{"type":"contact_info_setting","thumbnail":"contactInfo","draggable":true,"visible":true,"settings":{"dict_contact_info_block_title":"聯絡我們","display_phone":"true","dict_phone_number":"02-29109475","display_fax_number":true,"dict_shop_fax_number":"02-29149741","display_shop_email":"true","dict_shop_email":"[email protected]","display_shop_address":"true","dict_shop_address":"新北市新店區寶興路45å··6弄10號1.2樓","display_office_time":"true","dict_shop_office_time":"周一~五 09:00-18:00(國定例假日休)","display_tax_id":true,"dict_tax_id":"13101895"},"custom_name":"聯絡資訊"}},"custom_name":"頁腳"},
5904            shop: {
5905              name: '豆穌朋官網',
5906              cyberbiz_link: 'https://www.cyberbiz.io?utm_source=poweredbycyberbiz',
5907              facebook_fan_page: 'https://www.facebook.com/218369678214850',
5908            },
5909            menus: menusData,
5910            is_display_facebook_fan_block: true
5911            },
5912          entryName:'renderFooterSection',
5913          source:'//cdn-general.cybassets.com/frontend/shop/footerSection-e958d46bfee2e69f.js',
5914        });
5915    }
5916  });
5917</script>
5917
5918
5919<!-- cyb_snippet _tracking_code start -->
5920      
5920<script>
5921        window.fbAsyncInit = function() {
5922          FB.init({
5923          appId : '',
5924          xfbml : true,
5925          version : 'v24.0',
5926          });
5927        };
5928        (function(d, s, id){
5929          var js, fjs = d.getElementsByTagName(s)[0];
5930          if (d.getElementById(id)) {return;}
5931          js = d.createElement(s);
5932          js.id = id;
5933          js.src = 'https://connect.facebook.net/zh_TW/sdk.js';
5934          fjs.parentNode.insertBefore(js, fjs);
5935        }(document, 'script', 'facebook-jssdk'));
5936      </script>
5936
5937
5938
5939<script>
5940  // for scupio
5941  if (document.querySelector("meta[name=\"scupio_mid\"]")) {
5942    mid = document.querySelector("meta[name=\"scupio_mid\"]").content;
5943  } else {
5944    mid = "";
5945  }
5946  if (!window.is_scupio_sent && mid) {
5947    window._bwtm = window._bwtm || []
5948    window._bwtm.push({
5949      "mid": mid,
5950      "uid": ""
5951    });
5952  }
5953</script>
5953
5954
5955<!-- cyb_snippet _tracking_code end -->
5956
5957<script>
5958  $(document).ready(function(){
5959    if(window.location.pathname != '' && window.location.pathname != '/' ){
5960      document.getElementById('index-recommendation').style.display = 'none'
5961    }
5962  });
5963</script>
5963
5964
5965
5966
5967    <!-- Fast-Events -->
5968    <!-- cyb_snippet fast_events start -->
5969
5970
5971<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/fast_events-e958d46bfee2e69f.js' type='text/javascript'></script>
5971
5972<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/fast_events-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' />
5973
5974<!-- cyb_snippet fast_events end -->
5975
5976    <div class="bottom-right qk-pos--fixed">
5977      <!-- gototop -->
5978      <div id="gototop" class="qk-display--none qk-text--center">
5979        <a href="javascript:void(0)" class="qk-circle qk-circle--lg qk-pos--relative qk-text--center">
5980          <i class="fas fa-chevron-up"></i>
5981        </a>
5982      </div>
5983
5984      <!-- popup -->
5985      
5986
5987
5988
5989<div id="popup-wrapper" class="qk-display--none"></div>
5990
5991<template id="popup-template">
5992  <div
5993    :class="status"
5994    v-if="hasContent"
5995    id="popup-section"
5996  >
5997    <transition name="backdrop">
5998      <div
5999        v-if="shouldShowPopup"
6000        @click.capture="minifyPopup"
6001        id="popup-backdrop"
6002        class="qk-w--100vw qk-h--100vh qk-pos--fixed qk-t--0 qk-l--0 qk-tst"
6003      >
6004      </div>
6005    </transition>
6006    <transition name="onShow">
6007      <div
6008        @click.self="showPopup"
6009        @transitionstart="updateGameStatus('start', this)"
6010        @transitionend="updateGameStatus('end', this)"
6011        class="popup-content qk-display--flex qk-align--center qk-tst qk-tst_dur--30 qk-tst_timing--ease_o"
6012      >
6013        <div
6014          v-for="block in blocks"
6015          :key="block.id"
6016          :class="[block.type, minifiedBlockClasses, block.settings.icon_size]"
6017          class="block qk-tst qk-tst_dur--30 qk-tst_timing--ease_o qk-of--auto"
6018        >
6019          <div v-if="block.type === 'image'" class="qk-pos--rel">
6020            <img
6021              v-show="!shouldShowPopup"
6022              :src="block.settings.dict_icon_image_url"
6023              class="qk-tst qk-tst_dur--30 qk-tst_timing--ease_o"
6024              alt="popup button"
6025            >
6026            <a
6027              v-show="shouldShowPopup"
6028              :href="block.settings.dict_link"
6029              :target="block.settings.target"
6030              :rel="block.settings.rel"
6031              class="qk-display--flex qk-align--center"
6032              @click="linkClicked"
6033            >
6034              <picture>
6035                <source :srcset="block.settings.dict_mobile_image_url" media="(max-width: 576px)">
6036                <source :srcset="block.settings.dict_tablet_image_url" media="(max-width: 992px)">
6037                <img
6038                  :src="block.settings.dict_image_url"
6039                  class="qk-tst qk-tst_dur--30 qk-tst_timing--ease_o"
6040                  alt="popup picture"
6041                />
6042              </picture>
6043            </a>
6044          </div>
6045          <div v-if="block.type === 'video'">
6046            <iframe
6047              :src="block.settings.dict_video_link"
6048              frameborder="0"
6049              class="qk-center--y qk-w--100 qk-h--100"
6050            ></iframe>
6051          </div>
6052          <div v-if="block.type === 'game'">
6053            <div v-show="gameStatus === 'show'" :class="{ 'show-game': gameStatus === 'show' }">
6054              <iframe
6055                class="cb-game-iframe iframe-loading"
6056                :src="getGameIframeSrc(block)"
6057                style="border: none;"
6058              >
6059                Loading
6060              </iframe>
6061            </div>
6062            <div v-show="gameStatus === 'minified'">
6063              <img
6064                src="//cdn-general.cybassets.com/game_assets/game_minified_new.png"
6065                class="qk-h--100 qk-w--100"
6066                alt="game minified icon"
6067              />
6068            </div>
6069          </div>
6070          <div
6071            v-if="block.type === 'carousel'"
6072            :id="`popup-carousel-${block.id}`"
6073          >
6074          </div>
6075        </div>
6076      </div>
6077    </transition>
6078    <transition name="backdrop">
6079      <div
6080        v-if="shouldShowPopup"
6081        @click.capture="minifyPopup"
6082        class="minify-popup qk-circle qk-circle--md qk-text--black qk-bg--white qk-bd--default qk-bd--border qk-text--center qk-cursor--pointer qk-pos--fixed"
6083      >
6084      </div>
6085    </transition>
6086  </div>
6087</template>
6088
6089<script>
6090  $(document).ready(function() {
6091    const CDN_HOST = '//cdn-general.cybassets.com';
6092    const section = {"type":"popup","visible":true,"blocks":{"popup_block_1":{"type":"image","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzMzNjgzX-i3s-eqlzExMDUtMDEuanBnLmpwZWciXV0.jpeg?sha=775ea4bcf7230754","icon_size":"large","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzMzNjgzX-i3s-eqlzExMDUtMDEuanBnLmpwZWciXV0.jpeg?sha=775ea4bcf7230754","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzMzNjgzX-i3s-eqlzExMDUtMDEuanBnLmpwZWciXV0.jpeg?sha=775ea4bcf7230754","dict_icon_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzMzNjgzX-i3s-eqlzExMDUtMDEuanBnLmpwZWciXV0.jpeg?sha=775ea4bcf7230754","dict_link":"https://dosuper.cyberbiz.co/blogs/news/login","link_open_in_new_tab":true},"custom_name":"圖片"},"1770347373802_0":{"type":"image","custom_name":"圖片","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMzQ3MjQyX-acgOW-jOS4i-WWri1DWeaJiy5qcGcuanBlZyJdXQ.jpeg?sha=9effe9d92973e92b","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMzQ3MjQyX-acgOW-jOS4i-WWri1DWeaJiy5qcGcuanBlZyJdXQ.jpeg?sha=9effe9d92973e92b","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMzQ3MjQyX-acgOW-jOS4i-WWri1DWeaJiy5qcGcuanBlZyJdXQ.jpeg?sha=9effe9d92973e92b","dict_icon_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMzQ3MjQyX-acgOW-jOS4i-WWri1DWeaJiy5qcGcuanBlZyJdXQ.jpeg?sha=9effe9d92973e92b","icon_size":"small"}}},"block_order":["1770347373802_0"],"settings":{},"custom_name":"彈窗廣告"};
6093    var popupSection = Vue.createApp({
6094      template: '#popup-template',
6095      delimiters: ['${', '}'],
6096      data() {
6097        const isOmniauthPage = ['omniauth_terms_agreement', 'omniauth_mobile/']
6098          .some(path => location.pathname.includes(path));
6099        return {
6100          status: 'minified',
6101          gameStatus: 'show',
6102          blocks: isOmniauthPage
6103            ? []
6104            : section.block_order && section.block_order.reduce(
6105                function(acc, blockId) {
6106                  const block = section.blocks[blockId];
6107                  if (block && block.visible) {
6108                    acc.push({
6109                      ...block,
6110                      id: blockId,
6111                    });
6112                  }
6113                  return acc;
6114                },
6115                [],
6116              ),
6117          hasAddedGameScript: false,
6118        };
6119      },
6120      computed: {
6121        hasContent: function() {
6122          return !!(this.blocks && this.blocks.length > 0);
6123        },
6124        minifiedBlockClasses: function() {
6125          return this.status === 'minified' ? 'qk-pointer--none qk-unselectable' : '';
6126        },
6127        shouldShowPopup: function() {
6128          return this.status === 'show';
6129        }
6130      },
6131      methods: {
6132        unhidePopup: function(storedStatus) {
6133          this.status = storedStatus;
6134          $('#popup-wrapper').removeClass('qk-display--none');
6135        },
6136        showPopup: function() {
6137          if (this.status !== 'show') {
6138            this.status = 'show';
6139            this.saveStatus(this.status);
6140          }
6141        },
6142        minifyPopup: function() {
6143          this.status = 'minified';
6144          this.saveStatus('minified');
6145        },
6146        loadStatus: function() {
6147          return JSON.parse(localStorage.getItem('popupStatus'));
6148        },
6149        saveStatus: function(status) {
6150          if (status) {
6151            localStorage.setItem('popupStatus', JSON.stringify({
6152              status: status,
6153              setTime: new Date().getTime(),
6154            }));
6155          }
6156        },
6157        linkClicked: function() {
6158          this.saveStatus('minified');
6159        },
6160        parseVideoLink: function(settings) {
6161          settings.dict_video_link = themeHelper.parseYtUrl(sett
6161ings.dict_video_link);
6162        },
6163        setupImageSrc: function (settings) {
6164          settings.dict_image_url = this.addCdnHost(settings.dict_image_url);
6165          if (settings.dict_tablet_image_url) {
6166            settings.dict_tablet_image_url = this.addCdnHost(settings.dict_tablet_image_url);
6167          }
6168          if (settings.dict_mobile_image_url) {
6169            settings.dict_mobile_image_url = this.addCdnHost(settings.dict_mobile_image_url);
6170          }
6171          settings.dict_icon_image_url = this.addCdnHost(settings.dict_icon_image_url) || settings.dict_image_url;
6172        },
6173        addCdnHost: function(url) {
6174          if (!url) {
6175            return url; // only add cdn host if url is not empty
6176          }
6177
6178          try {
6179            new URL(url);
6180            return url; // already a valid url, cdn host not needed
6181          } catch {
6182            return `${CDN_HOST}${url}`;
6183          }
6184        },
6185        initStatus: function() {
6186          let newStatus = 'show';
6187          const popupStatus = this.loadStatus();
6188          const currentTime = new Date().getTime();
6189          const oneDay = 1000 * 60 * 60 * 24;
6190          const hasStoredStatus = popupStatus && currentTime - popupStatus.setTime < oneDay;
6191          const redirectedByGameLogin = !this.hasRedirectUrl() && this.redirectedByGameLogin();
6192          const isLoggingIn = this.isLoggingIn();
6193          const isCartPage = window.location.pathname.split('/').includes('carts');
6194
6195          if (hasStoredStatus && !redirectedByGameLogin) {
6196            newStatus = popupStatus.status;
6197          }
6198
6199          if (isLoggingIn) {
6200            newStatus = 'minified';
6201          } else {
6202            localStorage.removeItem('redirectedByPopup');
6203          }
6204
6205          setTimeout(() => {
6206            this.status = newStatus;
6207            this.gameStatus = newStatus;
6208            this.saveStatus(newStatus);
6209            if(!isCartPage){
6210              this.unhidePopup(newStatus);
6211            }
6212          }, 1000);
6213        },
6214        initBlocks: function() {
6215          if (this.hasContent) {
6216            this.blocks.forEach(block => {
6217              switch(block.type) {
6218                case 'image':
6219                  this.setupImageSrc(block.settings);
6220
6221                  const isOpenInNewTab = block.settings.link_open_in_new_tab;
6222                  if (isOpenInNewTab) {
6223                    block.settings.target = '_blank';
6224                    block.settings.rel = 'noopener noreferrer';
6225                  }
6226
6227                  break;
6228                case 'video':
6229                  this.parseVideoLink(block.settings);
6230                  break;
6231              }
6232            })
6233          }
6234        },
6235        getGameIframeSrc: function (block) {
6236          return `/games/${block.settings.dict_game_handle}`
6237        },
6238        updateGameStatus: function(type, element) {
6239          if (
6240            (type === 'start' && this.status === 'minified')
6241            || (type === 'end' && this.status === 'show')
6242          ) {
6243            this.gameStatus = this.status;
6244          }
6245        },
6246        setupGameRedirects: function() {
6247          window.addEventListener('pagehide', () => {
6248            const isGameActive = document.body.getElementsByClassName('show-game').length;
6249            if (isGameActive) {
6250              localStorage.setItem('redirectedByPopup', 'true');
6251              this.saveStatus('minified');
6252            }
6253          });
6254        },
6255        hasRedirectUrl: function() {
6256          return (new URLSearchParams(location.search)).has('redirect_url');
6257        },
6258        redirectedByGameLogin: function() {
6259          return localStorage.getItem('redirectedByPopup');
6260        },
6261        isLoggingIn: function() {
6262          const loginRelatedPathnames = [
6263            'account/signup',
6264            'account/login',
6265            'account/customer/password/new',
6266            'pages/terms'
6267          ];
6268          return loginRelatedPathnames.some(path => location.pathname.includes(path));
6269        }
6270      },
6271      created: function() {
6272        this.initStatus();
6273        this.initBlocks();
6274        this.setupGameRedirects();
6275      },
6276      mounted: function() {
6277        this.blocks.forEach((block) => {
6278          if (block.type === 'carousel' && block.settings.dict_c
6278arousel) {
6279            renderCarousel(`#popup-carousel-${block.id}`, {
6280              title: block.settings.dict_carousel,
6281              CDN_HOST,
6282              onLinkClick: () => this.linkClicked(),
6283            });
6284          }
6285        });
6286      },
6287    });
6288    popupSection.mount('#popup-wrapper');
6289  });
6290</script>
6290
6291
6292
6293
6294    </div>
6295
6296    <!-- ajaxloading -->
6297    <div id="ajaxloading" class="qk-display--none qk-h--100vh qk-w--100vw qk-l--0 qk-t--0 qk-pos--fixed">
6298      <div class="ajaxbody qk-pos--abs qk-l--50 qk-t--50 qk-text--center">
6299        <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="73.4" height="73.4" viewBox="0 0 73.4 73.4">
6300          <circle class="circle" fill="none" stroke="#898989" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="36.7" cy="36.7" r="35.2"/>
6301          <polyline class="success_path" fill="none" stroke="#898989" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="23.7,36.8 32.4,45.4 49.7,28 "/>
6302          <path class="success_icon" fill="#898989" d="M32.5,46.9c-0.4,0-0.8-0.2-1.1-0.4l-8.6-8.6c-0.6-0.6-0.6-1.5,0-2.1s1.5-0.6,2.1,0l7.5,7.5L48.6,27c0.6-0.6,1.5-0.6,2.1,0s0.6,1.5,0,2.1L33.5,46.5C33.2,46.7,32.9,46.9,32.5,46.9L32.5,46.9z"/>
6303          <line class="fail_path" fill="none" stroke="#898989" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="26.6" y1="26.6" x2="46.8" y2="46.8"/>
6304          <line class="fail_path" fill="none" stroke="#898989" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="46.8" y1="26.6" x2="26.6" y2="46.8"/>
6305          <path class="fail_icon" fill="#898989" d="M38.7,36.7l9.1-9.1c0.6-0.6,0.6-1.5,0-2.1s-1.5-0.6-2.1,0l-9.1,9.1l-9.1-9.1c-0.6-0.6-1.5-0.6-2.1,0s-0.6,1.5,0,2.1l9.1,9.1l-9.1,9.1c-0.6,0.6-0.6,1.5,0,2.1c0.3,0.3,0.7,0.4,1.1,0.4s0.8-0.1,1.1-0.4l9.1-9.1l9.1,9.1c0.3,0.3,0.7,0.4,1.1,0.4s0.8-0.1,1.1-0.4c0.6-0.6,0.6-1.5,0-2.1L38.7,36.7z"/>
6306        </svg>
6307        <div class="success_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">已加入購物車</div>
6308        <div class="success_update_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">已更新購物車</div>
6309        <div class="fail_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">網路異常,請重新整理</div>
6310      </div>
6311    </div>
6312  
6312<script src="//cdn-general.cybassets.com/assets/referral-code-trace-5fcbbe026a61c36b5f09a1615a1c168688205205d9d3e7ee854181a66b64a6ed.js"></script>
6312
6313      
6313<script>
6314      dataLayer.push({
6315        'event': 'productDetails',
6316        'ecommerce': {
6317          'detail': {
6318            'products': {"id":69561326,"name":"鋁箔手提保冷禮袋","price":15.0,"brand":null,"category":null,"variant":"","qc":null}
6319           }
6320         }
6321      });
6322      </script>
6322
6323    
6324      
6324<script>
6325      cyb.push({
6326        'event': 'productDetails',
6327        'ecommerce': {
6328          'currencyCode': 'TWD',
6329          'detail': {
6330            'products': [{"id":69561326,"name":"鋁箔手提保冷禮袋","price":15.0,"brand":null,"category":null,"variant":""}]
6331           }
6332         }
6333      });
6334      </script>
6334
6335    
6336      
6336<script>
6337        if (window.fbq) {
6338          fbq("track", "ViewContent", {
6339            content_name: "鋁箔手提保冷禮袋",
6340            content_ids: "84890442",
6341            content_type: "product",
6342            value: 15.0,
6343            currency: "TWD",
6344            contents: [{"id":84890442,"price":15.0,"quantity":1401}],
6345            content_category: null
6346          },{
6347            eventID: "ViewContent_0D48F54522C4255BF3DF79DFB9973EEB"
6348          });
6349        }
6350      </script>
6350
6351    </body>
6352
6353  
6353<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/sub_vendor-e958d46bfee2e69f.js' type='text/javascript'></script>
6353
6354  
6354<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/theme_helper-e958d46bfee2e69f.js' type='text/javascript'></script>
6354
6355
6356  <!-- theme assets -->
6357  
6357<script src='//cdn-general.cybassets.com/s/files/33898/theme/123241/assets/js/1756289073_0ff5c3fe_main.js?1756289073' type='text/javascript'></script>
6357
6358  
6358<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/theme-e958d46bfee2e69f.js' type='text/javascript'></script>
6358
6359
6360  <!-- for cache -->
6361  
6361<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/cacheable-e958d46bfee2e69f.js' type='text/javascript'></script>
6361
6362</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.