PageSourceSearch

https://www.ayufoods.com/

html ayufoods.com collected 2026-10-07 00:14:29 UTC 224,100 bytes, 4,593 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    
8      <!-- CYBERBIZ Google Tag Manager -->
9      
9<script>
vendor: 345 bytes, lines 9-13
9(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
10      new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
11      j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
12      'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
13      })(window,document,'script','cyb','
13GTM-TXD9LVJ
vendor: 3 bytes, line 13
13');
13</script>
13
14      <!-- End CYBERBIZ Google Tag Manager -->
15    
16    <meta charset="utf-8">
17<meta http-equiv="X-UA-Compatible" content="IE=edge">
18<meta name="viewport" content="width=device-width, initial-scale=1">
19<link rel="icon" href="https://cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTAzNzkyXzQ4eDQ4LnBuZy5wbmciXV0.png?convert=false&sha=8910344cbecd2656">
20<link rel="apple-touch-icon" href="https://cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTAzNzkyXzQ4eDQ4LnBuZy5wbmciXV0.png?convert=false&sha=8910344cbecd2656">
21
22<meta property="og:site_name" content="ayufoods" />
23
24<!-- og tag -->
25
26  <meta name="keywords" content="阿玉蔴粩專賣店" />
27  <meta name="description" content="金山第一家蔴粩專賣店,採用金山當地特產:地瓜、芋頭,堅持用最新鮮的材料及健康的手工方式,重現舊時美好時光,帶給大眾新鮮、健康、吃得到原味的幸福古早味。" />
28  <meta property="og:title" content="ayufoods 阿玉蔴粩專賣店" />
29  <meta property="og:description" content="金山第一家蔴粩專賣店,採用金山當地特產:地瓜、芋頭,堅持用最新鮮的材料及健康的手工方式,重現舊時美好時光,帶給大眾新鮮、健康、吃得到原味的幸福古早味。" />
30  <meta property="og:url" content="https://www.ayufoods.com" />
31  <meta property="og:type" content="website" />
32
33
34<!-- og image -->
35
36  
37  <meta property="og:image" content="https://cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTAzODA3XzMwMHgzMDAucG5nLnBuZyJdXQ.png?sha=0d182fecbb3c42d6" />
38  
39
40
41<title>
42  
43    ayufoods 阿玉蔴粩專賣店
44  
45</title>
46
47
48
49<script src='//cdn1-next.cybassets.com/frontend/shop/useSettingsData-4a1e7dfec7e41476.js' type='text/javascript'></script>
49
50
51
52
53  
53<script>
54    window.setSettingsData({"draggable_sections":{"404":[],"index":["_main_slider_custom","_index_4_blocks","_index_8_blocks"],"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"]},"sections":{"navbar":{"type":"navbar","visible":true,"settings":{"navbar_image_logo_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTAzNTg3XzMxNXgxMDAucG5nLnBuZyJdXQ.png?sha=43072cdcb82ce596","navbar_image_logo_tablet_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTAzNTg3XzMxNXgxMDAucG5nLnBuZyJdXQ.png?sha=43072cdcb82ce596","navbar_image_logo_mobile_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTAzNTg3XzMxNXgxMDAucG5nLnBuZyJdXQ.png?sha=43072cdcb82ce596","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":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjk5MzQyODkyXzE5MjB4NTBf5pyD5ZOh55m75YWl6aCI55-lLmpwZy5qcGVnIl1d.jpeg?sha=62739b1f7d97e7c3","dict_header_banner_image_tablet_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjk5MzQyOTEwXzk2MHg1MF_mnIPlk6HnmbvlhaXpoIjnn6UuanBnLmpwZWciXV0.jpeg?sha=57f91cf0b1f4c9a6","dict_header_banner_image_mobile_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjk5MzQyOTE5XzgwMHg1Ml_mnIPlk6HnmbvlhaXpoIjnn6UuanBnLmpwZWciXV0.jpeg?sha=69033ca470073319","dict_header_banner_link":"/blogs/news","display_count_down":false,"header_logo_image_alt":"阿玉蔴粩","navbar_display_style":"displayDefault","menu_display_style":"three_dimension_menu","header_banner_start":"","header_banner_end":"","timer_text_color":"#c39d6f","timer_bg_color":"#2b2b6e","header_banner_image_alt":"親愛的客戶您好,由於會員系統升級,若您之前曾申請會員,請您於第一次登入此網站使用「忘記密碼 」功能,進行密碼設定。"},"custom_name":"導覽列"},"footer":{"type":"footer","visible":true,"settings":{"footer_link":"footer","display_facebook":true,"shop_facebook":"https://www.facebook.com/ayufoods/?locale=zh_TW","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"},"block_order":["default_link_list","1686193641937_0","default_contact_info","1686116321657_2"],"blocks":{"default_link_list":{"type":"link_list_setting","custom_name":"選單","thumbnail":"list","draggable":true,"visible":true,"settings":{"dict_link_list_block_title":"阿玉蔴粩專賣店","footer_link":"頁腳主選單_1"}},"default_contact_info":{"type":"contact_info_setting","custom_name":"聯絡資訊","thumbnail":"contactInfo","draggable":true,"visible":false,"settings":{"dict_contact_info_block_title":"聯絡資訊","display_phone":true,"dict_phone_number":"0912345678","display_fax_number":true,"dict_shop_fax_number":"0222345678","display_shop_email":true,"dict_shop_email":"[email protected]","display_shop_address":true,"dict_shop_address":"測試地址","display_office_time":true,"dict_shop_office_time":"10:00-17:00"}},"1686116321657_2":{"type":"rich_text_editor_setting","custom_name":"自訂文字","visible":true,"settings":{"dict_rich_text_title":"聯絡資訊","dict_rich_text_content":"\u003cp\u003e訂購專線 :02-2408-1889、02-2498-1189\u003c/p\u003e\n\u003cp\u003e傳真 :02-2498-7588\u003c/p\u003e\n\u003cp\u003eä¿¡ç®± :[email protected]\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\n\u003cp\u003e金山老街阿玉蔴粩(總店)\u003cbr\u003e地址:台灣新北市金山區金包里街65號\u003c/p\u003e\n\u003cp\u003e營業時間\u003c/p\u003e\n\u003cp\u003e平日09:00 - 18:00\u003c/p\u003e\n\u003cp\u003e假日09:00 - 20:00\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\n\u003cp\u003e金山老街阿玉蔴粩(中山店)\u003c/p\u003e\n\u003cp\u003e地址:新北市金山區中山路110號\u003c/p\u003e\n\u003cp\u003e營業時間\u003c/p\u003e\n\u003cp\u003e09:00 - 21:00\u003c/p\u003e\n"}},"1686193641937_0":{"type":"link_list_setting","custom_name":"選單","visible":true,"settings":{"dict_link_list_block_title":"","footer_link":"頁腳主選單_2"}}},"custom_name":"頁腳"},"_main_slider_custom":{"type":"_main_slider_custom","visible":true,"blocks":{"display_main_slider_item_1":{"type":"image","visible":true,"settings":{"dict_link":"/","dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4MzI4XzE5MjB4OTAwX-mYv-eOieWqveWqvS5qcGcuanBlZyJdXQ.jpeg?sha=de53b9aeaa3be8c1","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4MzM4Xzk2MHg4NzBf6Zi_546J5aq95aq9LmpwZy5qcGVnIl1d.jpeg?sha=e83952fadc965c0
545","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4MzM5XzQ4MHg3MjBf6Zi_546J5aq95aq9LmpwZy5qcGVnIl1d.jpeg?sha=5b08fa7813d133b0"},"custom_name":"素材"},"display_main_slider_item_2":{"type":"image","visible":true,"settings":{"dict_link":"/collections/蔴粩類","dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4MzYzXzE5MjB4OTAwX-e2nOWQiC5qcGcuanBlZyJdXQ.jpeg?sha=34576c24a143f434","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4MzYzXzk2MHg4NzBf57ac5ZCILmpwZy5qcGVnIl1d.jpeg?sha=93c97e87bdcdebe8","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4MzYzXzQ4MHg3MjBf57ac5ZCILmpwZy5qcGVnIl1d.jpeg?sha=c13c902159c4ea37","main_slider_image_alt":"蔴粩"},"custom_name":"素材"},"display_main_slider_item_3":{"type":"image","visible":true,"settings":{"dict_link":"","dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4NDE4XzE5MjB4OTAwX-mFpeeJh-mhnl_pmL_njonlqr3lqr0uanBnLmpwZWciXV0.jpeg?sha=09b4df62921fa56b","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4NDE4Xzk2MHg4NzBf6YWl54mH6aGeX-mYv-eOieWqveWqvS5qcGcuanBlZyJdXQ.jpeg?sha=4f22f9c33fefdf54","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4NDE4XzkwMHgxMzUwX-mFpeeJh-mhnl_pmL_njonlqr3lqr0uanBnLmpwZWciXV0.jpeg?sha=ea5feee6636fab69"},"custom_name":"素材"},"display_main_slider_item_4":{"type":"image","visible":true,"settings":{"dict_link":"/collections/海洋風味蔴粩","dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4Mz
54k0XzE5MjB4OTAwX-a1t-a0i-miqOWRsy5qcGcuanBlZyJdXQ.jpeg?sha=abc7c81f9992f8ad","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4Mzk1Xzk2MHg4NzBf5rW35rSL6aKo5ZGzLmpwZy5qcGVnIl1d.jpeg?sha=289f785be3f79395","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4Mzk1XzkwMHgxMzUwX-a1t-a0i-miqOWRsy5qcGcuanBlZyJdXQ.jpeg?sha=1cc79dae0f847f57","main_slider_image_alt":"海洋風味蔴粩"},"custom_name":"素材"},"display_main_slider_item_5":{"type":"image","visible":true,"settings":{"dict_link":"/collections/麻花捲類","dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4NDQ3XzE5MjB4OTAwX-m6u-iKsS5qcGcuanBlZyJdXQ.jpeg?sha=5de125ce9e449698","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4NDQ4Xzk2MHg4NzBf6bq76IqxLmpwZy5qcGVnIl1d.jpeg?sha=a10bf9d34e160f67","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4NDQ4XzQ4MHg3MjBf6bq76IqxLmpwZy5qcGVnIl1d.jpeg?sha=6cf2f1f86844b6bf","main_slider_image_alt":"麻花捲類"},"custom_name":"素材"},"1686128999598_0":{"type":"image","custom_name":"素材","visible":true,"settings":{"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTI5MDE3XzE5MjB4OTAwLnBuZy5wbmciXV0.png?sha=9c06c0696f646603","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTI5MDQyXzk2MHg4NzAucG5nLnBuZyJdXQ.png?sha=045f8d1bb681b809","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTI5MDQ4XzQ4MHg3MjAucG5nLnBuZyJdXQ.png?sha=7c2398573930ea1a","dict_link":""}}},"block_order":["display_main_slider_item_1","display_main_slider_item_2","display_main_slider_item_4","display_main_slider_item_3","display_main_slider_item_5","1686128999598_0"],"settings":{"margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"50","swiper_delay":"3","image_number":"1","image_space":"12","mobile_image_number":"1","mobile_image_space":"8"},"custom_name":"輪播素材"},"_index_product_banner":{"type":"_index_product_banner","visible":false,"settings":{"dict_link":"","dict_image_url":"/theme_src/i18n_shoestore/default_img/new_index_product_banner_1_lg.jpg","dict_tablet_image_url":"","dict_mobile_image_url":"","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"},"custom_name":"橫幅廣告"},"_index_8_blocks":{"type":"_index_8_blocks","visible":true,"settings":{"dict_title":"暢銷商品","collection_handle":"蔴粩類","limit":"12","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"24","product_display":"displayPartial","product_arrangement":"1"},"custom_name":"商品分類"},"_index_4_blogs":{"type":"_index_4_blogs","visible":false,"blocks":{"index_4_blogs_1":{"type":"blog","visible":true,"settings":{"blog_handle":"news"},"custom_name":"部落格"},"index_4_blogs_2":{"type":"blog","visible":true,"settings":{"blog_handle":"news"},"custom_name":"部落格"},"index_4_blogs_3":{"type":"blog","visible":true,"settings":{"blog_handle":"news"},"custom_name":"部落格"},"index_4_blogs_4":{"type":"blog","visible":true,"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"},"custom_name":"分頁頁籤"},"_index_4_blocks":{"type":"_index_4_blocks","visible":true,"blocks":{"display_index_4_block_1":{"type":"image","visible":true,"settings":{"title":"","dict_link":"/blogs/news","dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTI5NTYxXzE5MjB4OTIwX-acgOaWsOa2iOaBry5qcGcuanBlZyJdXQ.jpeg?sha=ae80d11c00d329c6","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTE2MDAyXzk2MF_mnIDmlrDmtojmga8uanBnLmpwZWciXV0.jpeg?sha=04a6bcb5b150da28","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTE2MDAyXzk2MF_mnIDmlrDmtojmga8uanBnLmpwZWciXV0.jpeg?sha=04a6bcb5b150da28","block_propotion":""},"custom_name":"圖片"},"1686109638114_0":{"type":"image","custom_name":"圖片","visible":true,"settings":{"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTI5NTc4XzE5MjB4OTIwX-WqkumrlOWgseWwji5qcGcuanBlZyJdXQ.jpeg?sha=a2da60162e9c9f54","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTE2MDU0Xzk2MF_lqpLpq5TloLHlsI4uanBnLmpwZWciXV0.jpeg?sha=d4567729a9c5b0f2","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTE2MDU0Xzk2MF_lqpLpq5TloLHlsI4uanBnLmpwZWciXV0.jpeg?sha=d4567729a9c5b0f2","dict_link":"/blogs/媒體報導","block_propotion":""}},"1686109641362_0":{"type":"image","custom_name":"圖片","visible":true,"settings":{"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTI5NTkxXzE5MjB4OTIwX1EmQS5qcGcuanBlZyJdXQ.jpeg?sha=4c11815baeab4031","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTE2MDg4Xzk2MF9RJkEuanBnLmpwZWciXV0.jpeg?sha=d1ac64b45fb824b6","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTE2MDg4Xzk2MF9RJkEuanBnLmpwZWciXV0.jpeg?sha=d1ac64b45fb824b6","dict_link":"/pages/q&a","block_propotion":""}}},"block_order":["display_index_4_block_1","1686109638114_0","1686109641362_0"],"custom_name":"自訂排版設計","settings":{"margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"50","mobile_columns":1,"margin_block":"10","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":"6"}},"article":{"type":"article","visible":true,"settings":{"display_blog_menu":true,"dict_blog_tags_title":"文章分類","blog_latest_post_limit":"2"}},"category":{"type":"category","visible":true,"settings":{"category_sidebar_set_open":false,"category_product_block_limit":"4","category_product_swiper_item_limit":"
546","category_product_item_limit":"18"}},"shop_setting":{"type":"shop_setting","visible":true,"settings":{"favicon_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTAzNzkyXzQ4eDQ4LnBuZy5wbmciXV0.png?sha=8910344cbecd2656","og_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTAzODA3XzMwMHgzMDAucG5nLnBuZyJdXQ.png?sha=0d182fecbb3c42d6","shop_title":"阿玉蔴粩專賣店","shop_description":"金山第一家蔴粩專賣店,採用金山當地特產:地瓜、芋頭,堅持用最新鮮的材料及健康的手工方式,重現舊時美好時光,帶給大眾新鮮、健康、吃得到原味的幸福古早味。","shop_keywords":"阿玉蔴粩專賣店"},"custom_name":"全站設定"},"color_settings":{"type":"color_settings","visible":true,"settings":{"button_color":"#000000","button_text_color":"#FFFFFF","accent_color":"#2B2B6E","heading_color":"#565656","text_color":"#9A9EA2","price_color":"#C39D6F","discount_price_color":"#C39D6F","theme_bg_color":"#FFFFFF","product_border_color":"#E2E2E2","nav_logo_bg_color":"#FFFFFF","nav_menu_bg_color":"#FFFFFF","nav_menu_text_color":"#565656","nav_menu_icon_color":"#565656","footer_bg_color":"#000000","footer_text_color":"#FFFFFF","checkout_button_color":"#000000","checkout_accent_color":"#2b2b6e"},"custom_name":"顏色設定"},"popup":{"type":"popup","visible":true,"blocks":{"popup_block_1":{"type":"image","visible":false,"settings":{"dict_image_url":"/theme_src/i18n_shoestore/default_img/popup_default.jpg","icon_size":"small"},"custom_name":"圖片"}},"block_order":["popup_block_1"],"settings":{},"custom_name":"彈窗廣告"},"product_info":{"type":"product_info","visible":true,"settings":{"display_product_sku":true,"dict_vip_custom_price_text":"","dict_vip_custom_price_href":""}},"product_description":{"type":"product_description","visible":true},"board_comments":{"type":"board_comments","visible":true,"settings":{},"custom_name":"商品評論","thumbnail":"list","draggable":false},"related_products":{"type":"related_products","visible":true,"settings":{"display_related_cols":true,"use_custom_related_cols":true,"dict_group_related_cols_related_product":"相關商品","related_products_limit":"4"}},"combo_product_info":{"type":"combo_product_info","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":"main-menu","collection_sidebar_set_open":false,"collection_pagination_limit":"12","is_infinite_scroll":false},"custom_name":"商品分類設定"},"404":{"type":"404","visible":true,"settings":{"image_url":"","dict_404_image_url":"","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/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":{}},"combo_product_desc":{"type":"combo_product_desc","visible":true,"settings":{}},"customers/other_valid_orders":{"type":"customers/other_valid_orders","visible":true,"settings":{}},"announcement_bar":{"type":"announcement_bar","visible":true,"blocks":{"announcement_bar_block_1":{"type":"image","visible":false,"settings":{"display_only_index":false,"display_period":"always","dict_link":"/blogs/news","link_open_in_new_tab":false,"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjk5MzQyODkyXzE5MjB4NTBf5pyD5ZOh55m75YWl6aCI55-lLmpwZy5qcGVnIl1d.jpeg?sha=62739b1f7d97e7c3","dict_image_tablet_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjk5MzQyOTEwXzk2MHg1MF_mnIPlk6HnmbvlhaXpoIjnn6UuanBnLmpwZWciXV0.jpeg?sha=57f91cf0b1f4c9a6","dict_image_mobile_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjk5MzQyOTE5XzgwMHg1Ml_mnIPlk6HnmbvlhaXpoIjnn6UuanBnLmpwZWciXV0.jpeg?sha=69033ca470073319","image_alt":"親愛的客戶您好,由於會員系統升級,若您之前曾申請會員,請您於第一次登入此網站使用「忘記密碼 」功能,進行密碼設定。","dict_content":"","text_size":"","text_color":"","bg_color":"","timer_text_color":"#c39d6f","timer_bg_color":"#2b2b6e","migrated_from_navbar":true}}},"block_order":["announcement_bar_block_1"],"settings":{"display_mode":"vertical","carousel_interval":"3"}}},"navbar_image_logo":true,"show_default_all_products":true,"one_dimension_limit":"
546","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":"","index_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":false,"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":false,"discount_price_slogan_url":"","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":true,"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":true,"google_font":"{'ja':{'value':'Noto Sans JP'},'zh-TW':{'value':'Noto Sans TC'},'en':{'value':'Noto Sans TC'},'zh-CN':{'value':'Noto Sans TC'}}","styled_shop_menu":"buttonType","product_scale":"default_scale","display_product_vendor":true,"product_text_align":"center"});
55  </script>
55
56
57
58
59
60
61
62
63
64  
64<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","url":"https://www.ayufoods.com","logo":"https://cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTAzNTg3XzMxNXgxMDAucG5nLnBuZyJdXQ.png?sha=43072cdcb82ce596"}</script>
64<script type="application/ld+json">{"@context":"https://schema.org/","@type":"WebSite","name":"ayufoods","url":"https://www.ayufoods.com","potentialAction":{"@type":"SearchAction","target":"www.ayufoods.com/search?q={search_term_string}","query-input":"required name=search_term_string"}}</script>
64
65
66
67
68    <!-- for vendor -->
69    <!-- cyb_snippet _bootstrap start -->
70
71<!-- cyb_snippet _bootstrap end -->
72    <link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/vendor-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
73
74    <!-- common css rulesets -->
75    <link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/common-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
76
77    <!-- for navbar -->
78    <link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/navbar-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
79
80    <!-- for footer -->
81    <link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/footer-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
82
83    <!-- theme assets -->
84    <link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/main-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
85
86    <!-- for vendor -->
87    
87<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/vendor-4a1e7dfec7e41476.js' type='text/javascript'></script>
87
88
89            
89<script>
90          window.sci = "eyJzaG9wX2lkIjoyNDYwNiwic2hvcF9wbGFuIjoiYWR2YW5jZSIsImRpbV9h\nZmZpbGlhdGUiOm51bGwsImN1c3RvbWVyX2lkIjpudWxsLCJjdXN0b21lcl9u\nYW1lIjpudWxsLCJzaG9wX25hbWUiOiJheXVmb29kcyIsInNoYXJlX2F0dHJp\nYnV0aW9uX2VuYWJsZWQiOnRydWV9\n";
91        </script>
91
92
93
94<meta name="csrf-param" content="authenticity_token" />
95<meta name="csrf-token" content="73SRUuNeN7MDB0veM7FyVCQjqA8P-rgDQHnz9dH1dnGEaftHWqI2hEzsBFhmhdSw4Zw8883N94zxWDY5T2wzxg" />
96<script>(function () {
97  window.gaConfigurations = {"useProductIdInProductEvents":false};
98})();
99</script>
vendor: 1 bytes, line 99
99
100<script>(function () {
101  window.CYBERBIZ_PageContext = {"page_type":"home"};
102})();
103</script>
103
104<link href="//cdn1-next.cybassets.com/frontend/shop/quark-4a1e7dfec7e41476.css" rel="stylesheet" type="text/css" media="all" />
105        
105<script>
106          window.shopScriptHelper = {
107            i18nLocale: "zh-TW",
108            i18nLocaleDefault: "zh-TW",
109            availableCurrencies: [],
110            defaultCurrency: "TWD",
111            currenciesInfo: [{"html_unit":"NT${{amount_no_decimals}}","name":"新台幣 (TWD)","html":"NT${{amount_no_decimals}}","unit":"","trailing_zeros":false,"decimal_precision":0,"money_format":"%u%n","format":"NT${{amount_no_decimals}}","email_unit":"NT${{amount_no_decimals}}","code":"TWD","symbol":"NT$","email":"NT${{amount_no_decimals}}"}],
112            vueOverrideTranslations: {"zh-TW":{"vue":{}}},
113            hasI18nInContextEditing: false,
114            shopMultipleCurrenciesCheckout: false,
115            hasLocalizedShopPriceFormat: true,
116          }
117        </script>
117
118
119        
120        
120<script
121          src="//cdn1-next.cybassets.com/frontend/shop/tolgeeIntegration-4a1e7dfec7e41476.js">
122        </script>
122
123        
123<script defer>
124          /*
125          * Enable in-context translation for Liquid part on the page.
126          * This must be executed last to prevent conflicts with other Vue apps.
127          * So put it to `onload`, which will be executed after DOM ready's app mount
128          */
129          window.onload = function() {
130            if (
131              window.shopScriptHelper &&
132              window.shopScriptHelper.hasI18nInContextEditing
133            ) {
134              window.initTolgeeForLiquid()
135            }
136          }
137        </script>
137
138
139<script> var google_con_event_labels = []</script>
vendor: 1 bytes, line 139
139
140<script src="//cdn1-next.cybassets.com/frontend/shop/pageEventHandler-4a1e7dfec7e41476.js"></script>
vendor: 1 bytes, line 140
140
141<script src="//cdn1-next.cybassets.com/frontend/shop/globalAnalysis-e4c650eb0b.js"></script>
141
142        
142<script>
143          window.c12t = {"customer_id":null};
144        </script>
144
145
146        <meta name="request-id" content="85CAC54E9721A5D6E270291FB7DAB1AC"/>
147
148<link rel="canonical" href="https://www.ayufoods.com/">
149<script src="//cdn1-next.cybassets.com/frontend/shop/carousel-4a1e7dfec7e41476.js"></script>
149
150          
150<script>
151            window.parent.postMessage({ type: 'previewShopInit', currentUrl: window.location.href }, '*');
152          </script>
152
153
154<script src="//cdn1-next.cybassets.com/frontend/appStoreSDK/main.2798231628aa7fab87a9.js"></script>
vendor: 1 bytes, line 154
154
155<script>window.CYBERBIZ_AppScriptSettings = {"shop_add_ons":"W3sidmVuZG9yX3R5cGUiOiJDWUJFUkJJWiBHb29nbGUgQW5hbHl0aWNzIDQi\nLCJhcHBfaWQiOiJRVWo1WnFvZUlPUjlaM2JaS2trMG44N3l5a0FpOWU0NURE\naDJ0YlFnaUJBIiwic2V0dGluZ3MiOnsiZ3RhZ19pZCI6IkctRjM3SjBNWTI4\nTiwgRy00QjdSSzdGSFdIIn19LHsidmVuZG9yX3R5cGUiOiJEaWdpdGFsIElu\ndGVsbGlnZW5jZSBUcmFja2VyIiwiYXBwX2lkIjoiMWI1MGE4NmRjMmQxNDE4\nMzg4ZmRlZGY3YTBkNDM5YWUiLCJzZXR0aW5ncyI6e319XQ==\n"}
156</script>
vendor: 1 bytes, line 156
156
157<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/9d6f4550aad572e9f70abb70ae5a6552482cf617ea5e4d5a32ed4ebbb5d60d54.js"></script>
vendor: 1 bytes, line 157
157
158<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/35cd1f36a4a855bacbaa53900f8e17b376d4cab44c73812eef261aef6435163d.js"></script>
vendor: 1 bytes, line 158
158
159<script>window.CYBERBIZ.initializeSDK.initialize();</script>
vendor: 1 bytes, line 159
159
160<script src="//cdn1-next.cybassets.com/frontend/shop/setAffliateCookie-4a1e7dfec7e41476.js"></script>
vendor: 1 bytes, line 160
160
161<script src="//cdn1-next.cybassets.com/assets/url-share-attribution-087b8170482449a1d92fbb0c92f9ce3ef38a84f35c52016ed831bd3efd8eed8b.js"></script>
161
162
163
164
165
166
167
168    <style id="color_settings">
169  :root {
170    
171      --button: #000000;
172    
173
174    
175      --button_text: #FFFFFF;
176    
177
178    
179      --accent: #2B2B6E;
180    
181
182    
183      --heading: #565656;
184    
185
186    
187      --text: #9A9EA2;
188    
189
190    
191      --price: #C39D6F;
192    
193
194    
195      --discount_price: #C39D6F;
196    
197
198    
199      --theme_bg: #FFFFFF;
200    
201
202    
203      --nav_logo_bg: #FFFFFF;
204    
205
206    
207      --nav_menu_bg: #FFFFFF;
208    
209
210    
211      --nav_menu_text: #565656;
212    
213
214    
215      --nav_menu_icon: #565656;
216    
217
218    
219      --footer_bg: #000000;
220    
221
222    
223      --footer_text: #FFFFFF;
224    
225
226    
227      --checkout_button: #000000;
228    
229
230    
231      --checkout_accent: #2b2b6e;
232    
233
234    
235      --product_border: #E2E2E2;
236    
237
238    
239      --tips_text: #0C5460;
240    
241
242    
243
244    
245  }
246</style>
247
248
249
250
251  
252        <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 74 bytes, lines 252-253
252
253          <script async src="https://www.googletagmanager.com/gtag/js?id=
253G-F37J0MY28N
vendor: 22 bytes, lines 253-254
253"></script>
254          
254<script>
255            window.dataLayer = window.dataLayer || [];
256            function gtag(){dataLayer.push(arguments);}
257            gtag('js', new Date());
258            
259            
260      </script>
260
261      
261<script>
262        (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
263        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
264        m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
265        })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
266
267        ga('create', '', 'auto', {'name': 'cyberbiz'});
268        ga('cyberbiz.require', 'displayfeatures');
269        ga('cyberbiz.set', 'dimension1', '24606');
270        ga('cyberbiz.require', 'ec');
271        ga('cyberbiz.send', 'pageview');
272      </script>
272
273    </head>
274
275  <body style="display: flex; flex-direction: column;">
vendor: 74 bytes, lines 275-277
275
276      <noscript><iframe
277      src="//www.googletagmanager.com/ns.html?id=
277GTM-TXD9LVJ
vendor: 117 bytes, lines 277-283
277"
278      height="0"
279      width="0"
280      style="display:none;visibility:hidden">
281      </iframe></noscript>
282    
283    
283<!-- Navigation -->
284    <!-- cyb_snippet liquid_helper start -->
285<script>
286	function getDiscountPriceName() {
287		return "false" === "true" ? "" : "";
288	}
289
290	function getDiscountPriceSuggestionName() {
291		return "false" === "true" ? "" : "";
292	}
293
294  document.addEventListener('DOMContentLoaded', function() {
295    const languageHandle = Cookies.get("language");
296    const defaultLanguage = {"handle":"zh-TW","title":"繁體中文","currency_code":"TWD"};
297    const languages = [];
298    const currency = window.shopScriptHelper.defaultCurrency;
299    const currencies = window.shopScriptHelper.currenciesInfo;
300		window.liquidHelper = {
301			shopInternational: false,
302			defaultLanguage: defaultLanguage,
303			language: languages.find(function(l) {
304				return l.handle === languageHandle;
305			}) || defaultLanguage,
306      shopMultipleCurrenciesCheckout: false,
307			shopMultipleCurrencies: false,
308			defaultCurrencyFormat: "NT${{amount_no_decimals}}",
309			defaultCurrency: currency,
310			getCurrency: function() {
311        const currencyValue = Cookies.get("currencyValue") || currency;
312        return currencies.find(function(c) { return c.code === currencyValue; }
313      )},
314      getDefaultCurrency: function() { return currencies.find(function(c) {
315				return c.code === currency;
316			})},
317      getAvailableCurrencies: function() { return currencies.map(c => c.code) },
318      getCurrencyFormatInfo: function(currency) {
319        const currencyInfo = currencies.find(c => c.code === currency)
320        return _.pick(currencyInfo, [
321          'decimal_precision',
322          'symbol',
323          'money_format',
324          'unit',
325          'trailing_zeros',
326          'html_unit',
327          'code',
328        ]);
329      },
330			cartQuantityLimit: (function() {
331        const limit = Number("0" || undefined);
332        return limit <= 0 || isNaN(limit) ? Number.POSITIVE_INFINITY : limit;
333      })(),
334			isFirstVariantSelected:  false ,
335			isImageColorsUsed:  false ,
336			isEmptyClickable:  true ,
337			hasAddBuyProduct: '' !== "" ? true : false,
338			hasPriceWithDiscountPlugin: 'false' ? true : false,
339      conversionBonus: 1,
340      hasLocalizedShopPriceFormat: true,
341      hasCustomerCartPlugin: true,
342      isCartEnabled: true,
343      cdnHost: '//cdn1-next.cybassets.com',
344      hasShopCustomPasswordRulePlugin: false,
345      hasDisableProductQuantityValidation: false,
346      hasBreadcrumbReferrerEnabled: false,
347		};
348	});
349</script>
349
350
351<!-- cyb_snippet liquid_helper end -->
352
353<script src='//cdn1-next.cybassets.com/frontend/shop/navbarSection-4a1e7dfec7e41476.js' type='text/javascript'></script>
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370<style>
371  
372    #navbar {
373      --navbar-pc-title-scale: 0.9;
374      --navbar-pc-body-scale: 1.0;
375      --navbar-mobile-title-scale: 0.9;
376      --navbar-mobile-body-scale: 1.0;
377    }
378  
379
380  
381
382  
383</style>
384
385
386  <span id="navbar" class="drawer drawer--left font-size-setting-enabled">
387    <header id="header" class="qk-w--100vw qk-pos--fixed qk-t--0 qk-l--0">
388      
389
390      
391        <div id="announcement-bar"></div>
392      
393
394      
395      
396        <div class="computer_nav qk-hidden--mobile ">
397          <div class="header_logo qk-bg--nav_logo_bg">
398            <div class="qk-pos--rel">
399              <div class="qk-text--center">
400                <!-- logo start -->
401                
402                  <nav class="logo qk-display--il_bk">
403                    <a href="/" class="qk-w--100">
404                      <img
405                        src="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTAzNTg3XzMxNXgxMDAucG5nLnBuZyJdXQ.png?sha=43072cdcb82ce596"
406                        class="qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--pc_logo qk-hidden--mobile"
407                        style="width: auto; height: 52px;"
408                        alt="阿玉蔴粩"
409                        height="52"
410                        width="auto"
411                      >
412                    </a>
413                  </nav>
414                
415                <!-- logo end -->
416                <!-- tool-nav start -->
417                
418                  <!-- cyb_snippet tool_nav start -->
419
420
421
422
423
424
425<nav class="tool-nav qk-pos--rel qk-float--r qk-display--flex">
426  <ul class="link_shelf_top qk-display--flex qk-flex--row qk-justify--end qk-align--center qk-pos--abs qk-r--0">
427    
428    
429    <!-- member -->
430    
431      <li class="customer_account qk-pos--rel qk-pd--05">
432        <div class="dropdown qk-pos--static">
433          <div class="qk-cursor--pointer" data-toggle="dropdown">
434            <div data-icon-type="custom_icon_type_account"></div>
435            <span class="text"></span>
436          </div>
437          <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">
438            <ul id="customer-logined-menu" style="display: none">
439              <li>
440                <div class="qk-fs--body qk-text--heading">
441                  <p class="customer-name qk-whitespace-break-spaces"></p>
442                  <p>您好!</p>
443                </div>
444              </li>
445            </ul>
446            <ul id="customer-not-login-menu">
447              <li class="button qk-text--center">
448                <a href="/account/login" class="btn-login qk-btn qk-btn--lg qk-btn--primary qk-w--100">會員登入</a>
449              </li>
450              <li class="button qk-text--center">
451                <a href="/account/signup" class="btn-orders qk-btn qk-btn--lg qk-btn--secondary qk-w--100 qk-bg--transparent">註冊新會員</a>
452              </li>
453            </ul>
454            <span class="menu-bd qk-bd_t--default qk-bd--product_border"></span>
455            <ul class="member-menu qk-bd_t--default qk-bd--product_border">
456              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
457                <a href="/account/index" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">我的帳戶</a>
458              </li>
459              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
460                <a href="/account/orders" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">訂單查詢</a>
461              </li>
462              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
463                <a href="/account/coupons" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">專屬優惠券</a>
464              </li>
465              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
466                <a href="/account/tracking_items" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">收藏清單</a>
467              </li>
468              <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">
469                <a href="/account/logout" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">會員登出</a>
470              </li>
471            </ul>
472          </div>
473        </div>
474      </li>
475    
476    <!-- for money symbol -->
477    <div id="money-symbol" data-money-symbol="NT${{amount_no_decimals}}" hidden></div>
478    <!-- cart -->
479    
480      <li class="cart qk-pos--rel qk-pd--05">
481        <!--電腦版的購物車選單-->
482        <div class="dropdown qk-pos--static">
483          <div data-toggle="dropdown" class="shopcart qk-cursor--pointer" >
484            <div data-icon-type="custom_icon_type_cart"></div>
485            <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>
486            <span class="global-cart-loading"></span>
487          </div>
488          <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">
489            <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>
490            <p class="cart_empty qk-fs--body qk-text--heading qk-text--center">目前的購物車是空的!</p>
491            <ul>
492              <li class="button qk-text--center">
493                <a class="btn-checkout qk-btn qk-btn--lg qk-btn--primary qk-w--100" href="/cart" style="display: none">立即購買</a>
494                <a class="btn-tracking qk-btn qk-btn--lg qk-btn--secondary qk-w--100 qk-bg--transparent" href="/account/tracking_items">前往收藏清單</a>
495              </li>
496            </ul>
497          </div>
498        </div>
499      </li>
500    
501    <!-- search -->
502    
503      <li class="search qk-pos--rel qk-pd--05" id="search-icon">
504        <div class="dropdown qk-pos--static">
505          <div class="qk-cursor--pointer" data-toggle="dropdown">
506            <div data-icon-type="custom_icon_type_search"></div>
507          </div>
508          <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">
509            <div class="search-area qk-display--flex qk-flex--row qk-justify--start qk-align--center qk-vert--mid">
510              <form action="/search" class="form-inline qk-search_form qk-display--flex qk-justfify--between qk-align--center qk-flex--1">
511                <input class="search-input form-control qk-inputbox qk-inputbox--lg qk-flex--1 qk-w--100 qk-bg--transparent qk-text--heading" type="search" placeholder="搜尋" aria-label="Search" name="q" value="" />
512                <button class="search-btn qk-btn qk-btn--lg qk-btn--primary qk-pd--0" type="submit">搜尋</button>
513              </form>
514            </div>
515          </div>
516        </div>
517      </li>
518    
519    <!-- express delivery -->
520    
521  </ul>
522</nav>
523
524<!-- cyb_snippet tool_nav end -->
525                
526                <!-- tool-nav end -->
527              </div>
528            </div>
529          </div>
530          
531            <div class="header_nav qk-bg--nav_menu_bg">
532              <div class="qk-pd_x--15">
533                <div class="qk-pos--relative center">
534                  <!-- main-nav start -->
535                  <nav class="main_nav qk-display--init">
536                    <!-- cyb_snippet _main_nav_skeleton start --><ul
537    class="main_nav_skeleton link_shelf_top qk-display--flex qk-flex--row qk-flex--wrap qk-justify--center qk-align--center qk-body"
538    style="justify-content: center; visibility: hidden;"
539    aria-hidden="true"
540  ><span>
541        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/pages/關於阿玉-20230914160358" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">關於我們</a></li>
542      </span><span>
543        <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>
544      </span><span>
545        <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>
546      </span><span>
547        <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>
548      </span><span>
549        <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>
550      </span><span>
551        <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>
552      </span><span>
553        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="https://drive.google.com/file/d/1fQTOqI428RYM0eI3Z-JfIaWMV9y7bg8z/view?usp=sharing" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">訂購單下載</a></li>
554      </span></ul><!-- cyb_snippet _main_nav_skeleton end -->
555                  </nav>
556                  <!-- main-nav end -->
557                </div>
558              </div>
559            </div>
560          
561        </div>
562      
563      <div class="qk-hidden--pc  ">
564        <!-- mobile-nav start -->
565        <nav class="mobile-nav qk-bg--nav_logo_bg">
566          <ul class="qk-display--flex qk-flex--row qk-justify--between qk-align--center qk-pd_x--05 qk-pd_y--0">
567            <!-- menu -->
568            
569              <li class="sidebar-menu-icon drawer-toggle qk-text--center qk-pd_x--05 qk-pd_y--0 qk-display--flex qk-align--center">
570                <div data-icon-type="custom_icon_type_menu"></div>
571              </li>
572            
573            <!-- logo -->
574            
575              <li class="logo qk-mg_r--auto qk-pd_x--05 qk-pd_y--0">
576                
577                  <a href="/" class="qk-display--il_flex qk-align--center qk-h--100 qk-hidden--phone">
578                    <img
579                      src="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTAzNTg3XzMxNXgxMDAucG5nLnBuZyJdXQ.png?sha=43072cdcb82ce596"
580                      height="25"
581                      width="auto"
582                      alt="阿玉蔴粩"
583                    >
584                  </a>
585                
586                
587                  <a href="/" class="qk-display--il_flex qk-align--center qk-h--100 qk-hidden--tablet">
588                    <img
589                      src="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTAzNTg3XzMxNXgxMDAucG5nLnBuZyJdXQ.png?sha=43072cdcb82ce596"
590                      height="25"
591                      width="auto"
592                      alt="阿玉蔴粩"
593                    >
594                  </a>
595                
596              </li>
597            
598            
599              <!-- search -->
600              
601                <li class="search qk-text--center qk-pd_x--05 qk-pd_y--0 qk-display--flex qk-align--center ">
602                  <div class="dropdown qk-pos--static qk-text--center">
603                    <div class="qk-cursor--pointer" data-toggle="dropdown">
604                      <div data-icon-type="custom_icon_type_search"></div>
605                    </div>
606                    <div
607                      class="qk-dropdown_menu dropdown-menu qk-w--100vw qk-bg--theme_bg qk-bd--default qk-bd--product_border qk-mg--0"
608                      role="menu"
609                    >
610                      <div class="search-area qk-display--flex qk-flex--row qk-justify--start qk-align--center qk-sp_bt--5 qk-w--100">
611                        <form action="/search" class="form-inline qk-display--flex qk-justfify--center qk-flex--1">
612                          <div class="form-inline qk-search_form qk-display--flex qk-justfify--center qk-align--center qk-flex--1">
613                            <input
614                              class="form-control qk-flex--1 qk-inputbox qk-inputbox--lg qk-bg--transparent qk-text--heading"
615                              type="search"
616                              placeholder="搜尋"
617                              aria-label="Search"
618                              name="q"
619                              value=""
620                            >
621                            <button class="search-btn qk-btn qk-btn--lg qk-btn--primary qk-pd--0" type="submit">
622                              搜尋
623                            </button>
624                          </div>
625                        </form>
626                      </div>
627                    </div>
628                  </div>
629                </li>
630              
631              <!-- express delivery -->
632              
633            
634          </ul>
635        </nav>
636        <!-- mobile-nav end -->
637      </div>
638      
639    </header>
639<script>
640      (function () {
641        var isNavbarTransparent = false;
642
643        function measureHeaderOffset() {
644          var header = document.getElementById('header');
645          if (!header) return null;
646
647          var headerHeight = header.getBoundingClientRect().height;
648
649          if (isNavbarTransparent && window.matchMedia('(min-width: 992px)').matches) {
650            var computerNav = document.querySelector('.computer_nav');
651            if (computerNav) {
652              headerHeight -= computerNav.getBoundingClientRect().height;
653            }
654          }
655
656          var floatFilter = document.getElementById('float-filter');
657          var floatFilterHeight = floatFilter
658            ? floatFilter.getBoundingClientRect().height
659            : 0;
660
661          return headerHeight - floatFilterHeight;
662        }
663
664        window.measureHeaderOffset = measureHeaderOffset;
665
666        var offset = measureHeaderOffset();
667        if (offset !== null) {
668          document.body.style.paddingTop = offset + 'px';
669        }
670      })();
671    </script>
671
672    
673      <!-- Sidebar -->
674      <nav class="drawer-nav drawer-nav_width qk-bg--nav_menu_bg " role="navigation">
675        <div class="drawer-menu">
676          <!-- cyb_snippet side_menu start -->
677
678
679<ul id="index_sidebar_shelf_top" class="sidebar qk-pd_b--1">
680  
681    <li class="logo qk-pos--rel qk-bg--nav_logo_bg qk-pd_x--1 qk-pd_y--05">
682      <a href="/" class="qk-pd--0">
683        <img src="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTAzNTg3XzMxNXgxMDAucG5nLnBuZyJdXQ.png?sha=43072cdcb82ce596" height="32" width="auto" alt="logo">
684      </a>
685      <button class="drawer-toggle qk-pos--abs qk-bg--transparent qk-pd--0"></button>
686    </li>
687  
688  
689    
690
691    
692      <!-- cyb_snippet components/side_menu/menu start -->
693
694  <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>
695
696
697  
698  
699  
700    <li class="qk-pos--rel qk-pd--0">
701      <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_1" aria-expanded=" true ">
702        
703          <a class="qk-text--nav_menu_text" href="/pages/關於阿玉-20230914160358"> 關於我們 </a>
704        
705      </button>
706      <ul id="index_sidebar_shelf_second_1" class="collapse_index_sidebar_1 collapse shelf_second  show  qk-pd--0">
707        
708          
709          
710          
711            <li class="qk-pos--rel qk-pd--0">
712              
713                <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="/blogs/news">
714                  最新消息
715                </a>
716              
717            </li>
718          
719        
720          
721          
722          
723            <li class="qk-pos--rel qk-pd--0">
724              
725                <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="/blogs/製作流程">
726                  製作流程
727                </a>
728              
729            </li>
730          
731        
732          
733          
734          
735            <li class="qk-pos--rel qk-pd--0">
736              
737                <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="/pages/q&a">
738                  媒體報導
739                </a>
740              
741            </li>
742          
743        
744          
745          
746          
747            <li class="qk-pos--rel qk-pd--0">
748              
749                <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="/pages/about-us">
750                  交通資訊
751                </a>
752              
753            </li>
754          
755        
756      </ul>
757    </li>
758  
759
760  
761  
762  
763    <li class="qk-pos--rel qk-pd--0">
764      
765        <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>
766      
767    </li>
768  
769
770  
771  
772  
773    <li class="qk-pos--rel qk-pd--0">
774      
775        <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>
776      
777    </li>
778  
779
780  
781  
782  
783    <li class="qk-pos--rel qk-pd--0">
784      
785        <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>
786      
787    </li>
788  
789
790  
791  
792  
793    <li class="qk-pos--rel qk-pd--0">
794      
795        <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>
796      
797    </li>
798  
799
800  
801  
802  
803    <li class="qk-pos--rel qk-pd--0">
804      
805        <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>
806      
807    </li>
808  
809
810  
811  
812  
813    <li class="qk-pos--rel qk-pd--0">
814      
815        <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="https://drive.google.com/file/d/1fQTOqI428RYM0eI3Z-JfIaWMV9y7bg8z/view?usp=sharing">訂購單下載</a>
816      
817    </li>
818  
819
820
821<script>
822  $('button a').on('click', function(e) {e.stopPropagation()});
823</script>
823
824
825<!-- cyb_snippet components/side_menu/menu end -->
826    
827  
828  
829    
830      <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>
831      <li class="qk-pos--rel qk-pd--0">
832        <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none">
833          <a href="/account/index" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">我的帳戶</a>
834        </div>
835      </li>
836      <li class="qk-pos--rel qk-pd--0">
837        <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none">
838          <a href="/account/orders" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">訂單查詢</a>
839        </div>
840      </li>
841      <li class="qk-pos--rel qk-pd--0">
842        <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none">
843          <a href="/account/logout" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">會員登出</a>
844        </div>
845      </li>
846      <li class="qk-pos--rel qk-pd--0">
847        <a href="/account/login">
848          <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 ">
849            <span class="qk-text--nav_menu_bg qk-fw--500 qk-fs--body">
850              會員登入
851            </span>
852          </div>
853        </a>
854      </li>
855      <li class="qk-pos--rel qk-pd--0">
856        <a href="/account/signup">
857          <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">
858            <span class="qk-text--nav_menu_text qk-fs--body qk-fw--500">
859              註冊新會員
860            </span>
861          </div>
862        </a>
863      </li>
864    
865    
866    
867    
868  
869</ul>
870
871<link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/sidebar-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
872
873<script>
874  $(document).ready(function(){
875    // 側邊選單
876    if ($('.drawer').length){
877      $('.drawer').drawer();
878      $('.bt-toggle').click(function(){
879        setTimeout(function(){
880          $('.drawer')[0].iScroll.refresh()
881        },500)
882      })
883    }
884  });
885</script>
885
886
887
888<!-- cyb_snippet side_menu end -->
889
890        </div>
891      </nav>
892      <!-- Bottombar -->
893      
894        <div
895          id="mobile-bottom-bar"
896          class="qk-display--flex qk-justify--around qk-bg--nav_logo_bg qk-w--100vw qk-pos--fixed qk-b--0 qk-hidden--pc"
897        >
898          <!-- home -->
899          <div class="qk-display--flex qk-justify--center qk-align--center qk-text--center qk-pd_x--05 qk-pd_y--0 qk-flex--1">
900            <a id="home-nav-icon" href="/">
901              <div data-icon-type="custom_icon_type_home"></div>
902            </a>
903          </div>
904          <!-- tracking items -->
905          <div class="qk-display--flex qk-justify--center qk-align--center qk-text--center qk-pd_x--05 qk-pd_y--0 qk-flex--1">
906            <a href="/account/tracking_items">
907              <div data-icon-type="custom_icon_type_tracking_items" c></div>
908            </a>
909          </div>
910          <!-- cart -->
911          
912            <div class="qk-display--flex qk-justify--center qk-align--center qk-text--center qk-pd_x--05 qk-pd_y--0 qk-flex--1">
913              <a
914                href="/cart"
915                class="qk-display--il_flex qk-flex--row qk-justify--center qk-align--center qk-vert--mid qk-pos--rel"
916              >
917                <div data-icon-type="custom_icon_type_cart"></div>
918                <span
919                  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"
920                  style="display: none;"
921                  >0</span
922                >
923              </a>
924            </div>
925          
926          <!-- member -->
927          
928            <div class="qk-display--flex qk-justify--center qk-align--center qk-text--center qk-pd_x--05 qk-pd_y--0 qk-flex--1">
929              <a id="customer-phone-nav-icon" href="/account/login">
930                <div data-icon-type="custom_icon_type_account"></div>
931              </a>
932            </div>
933          
934        </div>
935      
936    
937  </span>
938
939<div id="index-popular-tags"></div>
940
941<style id="timer_color">
942  :root {
943    
944      --timer_text: #c39d6f;
945    
946
947    
948      --timer_bg: #2b2b6e;
949    
950  }
951</style>
952
953<script>
954  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":"問題å
954…§å®¹","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天免費鑑è³
954žæœŸï¼ˆå«ä¾‹å‡æ—¥ï¼‰ã€‚退換貨時請保持原包裝商品的完整(包含購買商品,附件,贈品等)。\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":"謝謝您的å¯
954¶è²´æ„è¦‹","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":"郵遞區號","suggested_range":"建議區間:","periodic_order_label":"定期定額","check_account_length":"請檢查銀行帳號長度"}
955  $(document).ready(function(){
956    if(window.location.pathname != '' && window.location.pathname != '/' ){
957      document.getElementById('index-popular-tags').style.display = 'none'
958    }
959    // 倒數計時
960    
961
962    function adjustContentTop() {
963      const offset = window.measureHeaderOffset();
964      if (offset === null) return;
965      $("body").css({ "padding-top": offset + "px" });
966    }
967
968    window.adjustContentTop = adjustContentTop;
969
970    // navbar設定透明
971    
972
973    // Call it first once DOM is ready to prevent CLS
974    adjustContentTop();
975
976    // 延遲初始化,等待 app banner 初始化完成
977    $(window).on("resize", adjustContentTop);
978
979    // 使用 setTimeout 確保 banner 狀態已經確定
980    $(window).on("load", function() {
981      setTimeout(function() {
982        adjustContentTop();
983      }, 200); // 給 banner 足夠時間初始化
984    });
985
986    $('img.header_banner').on('load', adjustContentTop);
987
988    window.renderNavbarSection('.main_nav', {
989        navbarCollections: null,
990        navbarItems: [{"id":1108049,"title":"關於我們","url":"/pages/關於阿玉-20230914160358","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":[{"id":1108052,"title":"最新消息","url":"/blogs/news","item_type":"blog","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1108053,"title":"製作流程","url":"/blogs/製作流程","item_type":"blog","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1108054,"title":"媒體報導","url":"/pages/q&a","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1108055,"title":"交通資訊","url":"/pages/about-us","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null}]},{"id":1028817,"title":"蔴粩類","url":"/collections/蔴粩類","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1028818,"title":"海洋風味蔴粩","url":"/collections/海洋風味蔴粩","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1028819,"title":"酥片類","url":"/collections/酥片類","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1028820,"title":"麻花類","url":"/collections/麻花捲類","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1028821,"title":"禮盒","url":"/collections/禮盒","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1151042,"title":"訂購單下載","url":"https://drive.google.com/file/d/1fQTOqI428RYM0eI3Z-JfIaWMV9y7bg8z/view?usp=sharing","item_type":"http","subtitle":null,"icon_image_url":null,"menuItems":null}],
991        settings: {
992          menuDisplayStyle: "three_dimension_menu",
993          pcLogoImgUrl: "//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTAzNTg3XzMxNXgxMDAucG5nLnBuZyJdXQ.png?sha=43072cdcb82ce596",
994          mobileLogoImgUrl: "//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTAzNTg3XzMxNXgxMDAucG5nLnBuZyJdXQ.png?sha=43072cdcb82ce596",
995          navbarDisplayStyle: "displayDefault",
996        }
997      }
998    );
999
1000
1001    // for link menu
1002    const linkMenuElement = document.querySelector('.link-nav');
1003    const data = []
1004    data.forEach((item) => {
1005      const wrapper = document.createElement('a');
1006      const link = document.createElement('ul');
1007
1008      wrapper.href = item.url;
1009      link.textContent = item.title;
1010      link.classList.add('link-item');
1011
1012      wrapper.appendChild(link);
1013      linkMenuElement.appendChild(wrapper);
1014    });
1015
1016    // for safe-area space on iOS devices
1017    const userAgent = navigator.userAgent;
1018    const isIOS = /iPad|iPhone|iPod/.test(userAgent) && !window.MSStream;
1019    const isLiff = /Line\/[\d.]+/i.test(userAgent);
1020    const $mobileBottomBar = $('#mobile-bottom-bar');
1021
1022    if ($mobileBottomBar.length && isIOS && isLiff) {
1023      $mobileBottomBar.addClass('is-ios-liff');
1024    }
1025  });
1026  document.addEventListener('DOMContentLoaded', function() {
1027    window.getCartAmount = function() {
1028      return parseInt($('.global-cart-count').html());
1029    };
1030  });
1031</script>
1031
1032
1033<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/navbar-4a1e7dfec7e41476.js' type='text/javascript'></script>
vendor: 1 bytes, line 1033
1033
1034<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/currencies-4a1e7dfec7e41476.js' type='text/javascript'></script>
1034
1035<!-- cyb_snippet i18n_modal start -->
1036
1037
1038<!-- cyb_snippet i18n_modal end -->
1039<!-- cyb_snippet _load_fonts start -->
1040<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/load_fonts-4a1e7dfec7e41476.js' type='text/javascript'></script>
vendor: 1 bytes, line 1040
1040
1041<script>
1042  document.addEventListener('DOMContentLoaded', function() {
1043    window.loadFontSetting("{'ja':{'value':'Noto Sans JP'},'zh-TW':{'value':'Noto Sans TC'},'en':{'value':'Noto Sans TC'},'zh-CN':{'value':'Noto Sans TC'}}")
1044  })
1045</script>
1045
1046
1047<!-- cyb_snippet _load_fonts end -->
1048<!-- cyb_snippet _custom_icon start -->
1049<script src='//cdn1-next.cybassets.com/frontend/shop/navIcon-4a1e7dfec7e41476.js' type='text/javascript'></script>
1049
1050
1051<script>
1052  (function() {
1053    const iconUrlMap = new Map([
1054      ['custom_icon_type_home', null],
1055      ['custom_icon_type_tracking_items', null],
1056      ['custom_icon_type_account', null],
1057      ['custom_icon_type_cart', null],
1058      ['custom_icon_type_search', null],
1059      ['custom_icon_type_menu', null]
1060    ]);
1061    const elements = document.querySelectorAll('[data-icon-type]');
1062    elements.forEach((element, index) => {
1063      const iconAttributes = element.getAttribute('data-icon-type');
1064
1065      const uniqueId = `icon_${iconAttributes}_${index}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
1066      element.id = uniqueId;
1067      window.renderNavCustomIcon(`#${uniqueId}`, {
1068        navIconStyle: "icon_type_default",
1069        customIconUrl: iconUrlMap.get(iconAttributes) || '',
1070        iconAttributes: iconAttributes,
1071        currentTemplate: "index",
1072      });
1073    });
1074  })();
1075</script>
1075
1076
1077<!-- cyb_snippet _custom_icon end -->
1078
1079
1080
1081    
1082  
1083    
1083<script src='//cdn1-next.cybassets.com/frontend/shop/announcementBar-4a1e7dfec7e41476.js' type='text/javascript'></script>
1083
1084
1085    
1086
1087    
1088
1089    
1089<script>
1090      $(document).ready(function() {
1091        window.renderAnnouncementBar('#announcement-bar', {
1092          sectionId: "announcement_bar",
1093          isIndex: true,
1094        });
1095      });
1096    </script>
1096
1097  
1098
1099
1100
1101
1102
1103    <!-- template -->
1104    <div id="template" style="flex:1 0 auto; background-color: var(--theme_bg);">
1105      <div class="index">
1106
1107  
1108
1109
1110
1111
1112
1113
1114
1115
1116<link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/_main_slider_custom-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
1117
1118<style>
1119  [id="_main_slider_custom"] {
1120    margin: 0 0px 50px !important;
1121  }
1122  @media (max-width: 576px) {
1123    .main-slider-placeholder {
1124      display: none !important;
1125    }
1126    .swiper-container {
1127      visibility: visible !important;
1128    }
1129  }
1130  @media (max-width: 991px) {
1131    [id="_main_slider_custom"] {
1132      margin: 0 0px 50px !important;
1133    }
1134  }
1135</style>
1136
1137<section id="_main_slider_custom" class="main-slider qk-pos--rel">
1138  
1139  
1140
1141  <div
1142    class="swiper swiper-container"
1143    
1144  >
1145    <div class="swiper-wrapper qk-align--center">
1146      
1147      
1148      
1149        <div class="swiper-slide">
1150          
1151            
1152            <a
1153              href="/"
1154              class="img-flex qk-align--stretch qk-display--contents"
1155              target=""
1156              rel=""
1157            >
1158          
1159          
1160          
1161          
1162          
1163          
1164            <picture>
1165              
1166                <source
1167                  media="(max-width: 576px)"
1168                  data-srcset="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4MzM5XzQ4MHg3MjBf6Zi_546J5aq95aq9LmpwZy5qcGVnIl1d.jpeg?sha=5b08fa7813d133b0"
1169                  alt=""
1170                >
1171              
1172              
1173                <source
1174                  media="(max-width: 992px)"
1175                  data-srcset="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4MzM4Xzk2MHg4NzBf6Zi_546J5aq95aq9LmpwZy5qcGVnIl1d.jpeg?sha=e83952fadc965c05"
1176                  alt=""
1177                >
1178              
1179              <img
1180                id="slider-image"
1181                data-src="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4MzI4XzE5MjB4OTAwX-mYv-eOieWqveWqvS5qcGcuanBlZyJdXQ.jpeg?sha=de53b9aeaa3be8c1"
1182                height="auto"
1183                alt=""
1184                class="swiper-lazy"
1185              >
1186            </picture>
1187
1188            
1189            
1190            
1191            
1192            
1193            
1194            
1195            
1196            
1197            
1198          
1199          
1200            </a>
1201          
1202          
1203            <div class="swiper-lazy-preloader"></div>
1204          
1205        </div>
1206      
1207        <div class="swiper-slide">
1208          
1209            
1210            <a
1211              href="/collections/蔴粩類"
1212              class="img-flex qk-align--stretch qk-display--contents"
1213              target=""
1214              rel=""
1215            >
1216          
1217          
1218          
1219          
1220          
1221          
1222            <picture>
1223              
1224                <source
1225                  media="(max-width: 576px)"
1226                  data-srcset="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4MzYzXzQ4MHg3MjBf57ac5ZCILmpwZy5qcGVnIl1d.jpeg?sha=c13c902159c4ea37"
1227                  alt="蔴粩"
1228                >
1229              
1230              
1231                <source
1232                  media="(max-width: 992px)"
1233                  data-srcset="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4MzYzXzk2MHg4NzBf57ac5ZCILmpwZy5qcGVnIl1d.jpeg?sha=93c97e87bdcdebe8"
1234                  alt="蔴粩"
1235                >
1236              
1237              <img
1238                id="slider-image"
1239                data-src="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4MzYzXzE5MjB4OTAwX-e2nOWQiC5qcGcuanBlZyJdXQ.jpeg?sha=34576c24a143f434"
1240                height="auto"
1241                alt="蔴粩"
1242                class="swiper-lazy"
1243              >
1244            </picture>
1245
1246            
1247            
1248            
1249            
1250            
1251            
1252            
1253            
1254            
1255            
1256          
1257          
1258            </a>
1259          
1260          
1261            <div class="swiper-lazy-preloader"></div>
1262          
1263        </div>
1264      
1265        <div class="swiper-slide">
1266          
1267            
1268            <a
1269              href="/collections/海洋風味蔴粩"
1270              class="img-flex qk-align--stretch qk-display--contents"
1271              target=""
1272              rel=""
1273            >
1274          
1275          
1276          
1277          
1278          
1279          
1280            <picture>
1281              
1282                <source
1283                  media="(max-width: 576px)"
1284                  data-srcset="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4Mz
1284k1XzkwMHgxMzUwX-a1t-a0i-miqOWRsy5qcGcuanBlZyJdXQ.jpeg?sha=1cc79dae0f847f57"
1285                  alt="海洋風味蔴粩"
1286                >
1287              
1288              
1289                <source
1290                  media="(max-width: 992px)"
1291                  data-srcset="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4Mzk1Xzk2MHg4NzBf5rW35rSL6aKo5ZGzLmpwZy5qcGVnIl1d.jpeg?sha=289f785be3f79395"
1292                  alt="海洋風味蔴粩"
1293                >
1294              
1295              <img
1296                id="slider-image"
1297                data-src="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4Mzk0XzE5MjB4OTAwX-a1t-a0i-miqOWRsy5qcGcuanBlZyJdXQ.jpeg?sha=abc7c81f9992f8ad"
1298                height="auto"
1299                alt="海洋風味蔴粩"
1300                class="swiper-lazy"
1301              >
1302            </picture>
1303
1304            
1305            
1306            
1307            
1308            
1309            
1310            
1311            
1312            
1313            
1314          
1315          
1316            </a>
1317          
1318          
1319            <div class="swiper-lazy-preloader"></div>
1320          
1321        </div>
1322      
1323        <div class="swiper-slide">
1324          
1325            <span class="img-flex qk-align--stretch qk-display--contents">
1326          
1327          
1328          
1329          
1330          
1331          
1332            <picture>
1333              
1334                <source
1335                  media="(max-width: 576px)"
1336                  data-srcset="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4NDE4XzkwMHgxMzUwX-mFpeeJh-mhnl_pmL_njonlqr3lqr0uanBnLmpwZWciXV0.jpeg?sha=ea5feee6636fab69"
1337                  alt=""
1338                >
1339              
1340              
1341                <source
1342                  media="(max-width: 992px)"
1343                  data-srcset="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4NDE4Xzk2MHg4NzBf6YWl54mH6aGeX-mYv-eOieWqveWqvS5qcGcuanBlZyJdXQ.jpeg?sha=4f22f9c33fefdf54"
1344                  alt=""
1345                >
1346              
1347              <img
1348                id="slider-image"
1349                data-src="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4NDE4XzE5MjB4OTAwX-mFpeeJh-mhnl_pmL_njonlqr3lqr0uanBnLmpwZWciXV0.jpeg?sha=09b4df62921fa56b"
1350                height="auto"
1351                alt=""
1352                class="swiper-lazy"
1353              >
1354            </picture>
1355
1356            
1357            
1358            
1359            
1360            
1361            
1362            
1363            
1364            
1365            
1366          
1367          
1368            </span>
1369          
1370          
1371            <div class="swiper-lazy-preloader"></div>
1372          
1373        </div>
1374      
1375        <div class="swiper-slide">
1376          
1377            
1378            <a
1379              href="/collections/麻花捲類"
1380              class="img-flex qk-align--stretch qk-display--contents"
1381              target=""
1382              rel=""
1383            >
1384          
1385          
1386          
1387          
1388          
1389          
1390            <picture>
1391              
1392                <source
1393                  media="(max-width: 576px)"
1394                  data-srcset="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4NDQ4XzQ4MHg3MjBf6bq76IqxLmpwZy5qcGVnIl1d.jpeg?sha=6cf2f1f86844b6bf"
1395                  alt="麻花捲類"
1396                >
1397              
1398              
1399                <source
1400                  media="(max-width: 992px)"
1401                  data-srcset="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4NDQ4Xzk2MHg4NzBf6bq76IqxLmpwZy5qcGVnIl1d.jpeg?sha=a10bf9d34e160f67"
1402                  alt="麻花捲類"
1403                >
1404              
1405              <img
1406                id="slider-image"
1407                data-src="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2NzA4NDQ3XzE5MjB4OTAwX-m6u-iKsS5qcGcuanBlZyJdXQ.jpeg?sha=5de125ce9e449698"
1408                height="auto"
1409                alt="麻花捲類"
1410                class="swiper-lazy"
1411              >
1412            </picture>
1413
1414            
1415            
1416            
1417            
1418            
1419            
1420            
1421            
1422            
1423            
1424          
1425          
1426            </a>
1427          
1428          
1429            <div class="swiper-lazy-preloader"></div>
1430          
1431        </div>
1432      
1433        <div class="swiper-slide">
1434          
1435            <span class="img-flex qk-align--stretch qk-display--contents">
1436          
1437          
1438          
1439          
1440          
1441          
1442            <picture>
1443              
1444                <source
1445                  media="(max-width: 576px)"
1446                  data-srcset="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTI5MDQ4XzQ4MHg3MjAucG5nLnBuZyJdXQ.png?sha=7c2398573930ea1a"
1447                  alt=""
1448                >
1449              
1450              
1451                <source
1452                  media="(max-width: 992px)"
1453                  data-srcset="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTI5MDQyXzk2MHg4NzAucG5nLnBuZyJdXQ.png?sha=045f8d1bb681b809"
1454                  alt=""
1455                >
1456              
1457              <img
1458                id="slider-image"
1459                data-src="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTI5MDE3XzE5MjB4OTAwLnBuZy5wbmciXV0.png?sha=9c06c0696f646603"
1460                height="auto"
1461                alt=""
1462                class="swiper-lazy"
1463              >
1464            </picture>
1465
1466            
1467            
1468            
1469            
1470            
1471            
1472            
1473            
1474            
1475            
1476          
1477          
1478            </span>
1479          
1480          
1481            <div class="swiper-lazy-preloader"></div>
1482          
1483        </div>
1484      
1485    </div>
1486    
1487      <div
1488        class="qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v2 qk-swiper_btn--prev main_slider_custom_prev qk-hidden--mobile"
1489      ></div>
1490      <div
1491        class="qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v2 qk-swiper_btn--next main_slider_custom_next qk-hidden--mobile"
1492      ></div>
1493    
1494  </div>
1495  
1496    <div class="qk-swiper_pg qk-w--100 qk-mg_t--1 qk-text--center main_slider_pagination"></div>
1497  
1498</section>
1499
1500<script>
1501  $(document).ready(function(){
1502    let isDynamicLoading = false;
1503    let settingObj = {
1504      id: '_main_slider_custom',
1505      mobile_img_number: Number('1'),
1506      mobile_img_space: Number('8'),
1507      img_number: Number('1'),
1508      img_space: Number('12'),
1509      swiper_delay: '3',
1510    }
1511    window.mainSlider = function(obj){
1512    var id = themeHelper.escapeId(obj.id);
1513    var slideCount = $(`#${obj.id} .swiper-slide`).length
1514    var autoLoop = true
1515    if (slideCount <= 1){
1516      autoLoop = false
1517    }
1518    var mainSlider = new Swiper('#' + id + ' .swiper-container', {
1519      preloadImages: false,
1520      slidesPerView: Number(obj.mobile_img_number),
1521      spaceBetween: Number(obj.mobile_img_space),
1522      breakpoints: {
1523        0:{
1524          slidesPerView: Number(obj.mobile_img_number),
1525          spaceBetween: Number(obj.mobile_img_space),
1526        },
1527        991: {
1528          slidesPerView: Number(obj.img_number),
1529          spaceBetween: Number(obj.img_space),
1530        }
1531      },
1532      // Enable lazy loading
1533      observer: true,
1534      observeParents: true,
1535      autoheight: true,
1536      lazy: {
1537        loadPrevNext: true,
1538      },
1539      freeMode: {
1540        enabled: true,
1541        sticky: true,
1542        momentum: true,
1543        momentumRatio: 0.4,
1544        momentumVelocityRatio: 0.1,
1545      },
1546      loop: autoLoop,
1547      autoplay: { delay: obj.swiper_delay * 1000 },
1548      speed: Number('300.0'),
1549      pagination: {
1550        el: '#' + id + ' .main_slider_pagination',
1551        clickable: true,
1552      },
1553      navigation: {
1554        nextEl: '#' + id + ' .main_slider_custom_next',
1555        prevEl: '#' + id + ' .main_slider_custom_prev',
1556      },
1557      on: {
1558        init: function () {
1559          if (isDynamicLoading && !window.matchMedia("(max-width: 576px)").matches) {
1560            document.querySelector('#' + id + ' .main-slider-placeholder').style.display = 'none';
1561            document.querySelector('#' + id + ' .swiper-container').style.visibility = 'visible';
1562          }
1563        },
1564      }
1565    });
1566    }
1567    if (isDynamicLoading) {
1568        window.DynamicLoading.setupComponent({
1569        sectionId: "_main_slider_custom",
1570        sectionSettingData: settingObj,
1571        entryName:'mainSlider',
1572        source:'https://cdnjs.cloudflare.com/ajax/libs/Swiper/5.4.5/js/swiper.js',
1573        componentType:'js',
1574        hiddenDom: true
1575      });
1576    }else{
1577      mainSlider(settingObj);
1578    }
1579  })
1580</script>
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594<link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/_index_4_blocks-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
1595<script src='//cdn1-next.cybassets.com/frontend/shop/productDisplay-4a1e7dfec7e41476.js' type='text/javascript'></script>
1595
1596
1597<style>
1598  [id="_index_4_blocks"] {
1599    margin: 0 0px 50px !important;
1600  }
1601
1602  @media (min-width: 992px) {
1603    [id="_index_4_blocks"] .block:not(.last-row) {
1604      margin-bottom: 10px !important;
1605    }
1606    [id="_index_4_blocks"] .block-default-width-margin:not(:first-of-type),
1607    [id="_index_4_blocks"] .block-not-first-margin {
1608      margin-left: 10px !important;
1609    }
1610  }
1611
1612  @media (max-width: 991px) {
1613    [id="_index_4_blocks"] {
1614      margin: 0 0px 50px !important;
1615    }
1616    [id="_index_4_blocks"] > .qk-display--flex.qk-flex--wrap {
1617      gap: 10px;
1618      justify-content: flex-start;
1619    }
1620    [id="_index_4_blocks"] .block {
1621      flex: 0 0 calc((100% - (1 - 1) * 10px) / 1);
1622    }
1623  }
1624
1625  .video-block-loading {
1626    background-color: #eeee;
1627    position: absolute;
1628    top: 0;
1629    bottom: 0;
1630    left: 0;
1631    width: 100%;
1632    height: 100%;
1633  }
1634</style>
1635
1636<script>
1637
1638  $(document).ready(function() {
1639    let isDynamicLoading = false;
1640    if (isDynamicLoading) {
1641      window.DynamicLoading.setupComponent({
1642          sectionId:'_index_4_blocks',
1643          componentType:'liquid',
1644        });
1645    }
1646    
1647      
1648    
1649      
1650    
1651      
1652    
1653  })
1654</script>
1654
1655
1656<script>
1657  function buildYoutubeEmbedUrl(url, options) {
1658    const YT_REGEX = /^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=|shorts\/)([^#&?]*).*/;
1659    const match = (url || '').match(YT_REGEX);
1660    const videoId = match && match[2].length === 11 ? match[2] : '';
1661
1662    if (!videoId) {
1663      return '';
1664    }
1665
1666    const autoPlay = options && options.autoPlay;
1667    const hideControls = options && options.hideControls;
1668    const loop = options && options.loop;
1669
1670    const searchParams = new URLSearchParams();
1671
1672    searchParams.set('autoplay', autoPlay ? '1' : '0');
1673    // 若自動播放,預設靜音以符合瀏覽器限制
1674    searchParams.set('mute', autoPlay ? '1' : '0');
1675    searchParams.set('playsinline', '1');
1676
1677    searchParams.set('controls', hideControls ? '0' : '1');
1678    searchParams.set('rel', '0');
1679
1680    if (loop) {
1681      searchParams.set('loop', '1');
1682      searchParams.set('playlist', videoId);
1683    }
1684
1685    return 'https://www.youtube.com/embed/' + videoId + '?' + searchParams.toString();
1686  }
1687
1688  function parseYtUrlOnLoad(target, url, autoPlay, hideControls, loop) {
1689    const finalUrl = buildYoutubeEmbedUrl(url, {
1690      autoPlay: autoPlay,
1691      hideControls: hideControls,
1692      loop: loop,
1693    });
1694
1695    if (!finalUrl || target.src === finalUrl) {
1696      return;
1697    }
1698
1699    const handleVideoLoad = function () {
1700      try {
1701        const wrapper = $(target).closest('.embed-responsive')[0];
1702        if (wrapper) {
1703          // 關閉 loading skeleton
1704          const loading = wrapper.querySelector('.video-block-loading');
1705          if (loading) {
1706            loading.style.display = 'none';
1707          }
1708        }
1709      } catch (e) {
1710        console.error('iframe onload 處理失敗', e);
1711      } finally {
1712        target.removeEventListener('load', handleVideoLoad);
1713      }
1714    };
1715
1716    target.addEventListener('load', handleVideoLoad);
1717
1718    target.src = finalUrl;
1719    if (hideControls && autoPlay) {
1720      target.style.pointerEvents = 'none';
1721    }
1722
1723    // 判斷是不是 YouTube shorts,決定要不要加上 .short-youtube class
1724    try {
1725      const isShort = (url || '').indexOf('/shorts/') !== -1;
1726      if (isShort) {
1727        const wrapper = $(target).closest('.embed-responsive')[0];
1728        if (wrapper) {
1729          wrapper.classList.add('short-youtube');
1730        }
1731      }
1732    } catch (e) {
1733      console.error('isShort 判斷失敗', e);
1734    }
1735  }
1736
1737
1738  window.addEventListener('load', function () {
1739    const sectionEl = document.getElementById('_index_4_blocks');
1740    if (!sectionEl) return;
1741
1742    const options = {
1743      threshold: 0.25,
1744    };
1745
1746    
1747      
1748    
1749      
1750    
1751      
1752    
1753  });
1754</script>
1754
1755
1756<section id="_index_4_blocks" class="index-4-blocks">
1757  <div class="qk-display--flex qk-flex--wrap">
1758    
1759    
1760      
1761      
1762      <div class="block image mobile-1-col block-default-width-margin last-row" style="width: calc(33.333333333333336% - 6.666666666666667px);">
1763        
1764            <div class="img-card" id="display_index_4_block_1">
1765              
1766              
1767                
1768                  <a href="/blogs/news" class="banner qk-hidden--mobile" target="" rel="">
1769                    <img src="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTI5NTYxXzE5MjB4OTIwX-acgOaWsOa2iOaBry5qcGcuanBlZyJdXQ.jpeg?sha=ae80d11c00d329c6" class="qk-w--100" alt="">
1770                  </a>
1771                
1772              
1773              
1774                
1775                  <a
1776                    href="/blogs/news"
1777                    class="banner qk-display--bk qk-hidden--phone qk-hidden--pc"
1778                    target=""
1779                    rel=""
1780                  >
1781                    <img
1782                      src="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTE2MDAyXzk2MF_mnIDmlrDmtojmga8uanBnLmpwZWciXV0.jpeg?sha=04a6bcb5b150da28"
1783                      class="qk-w--100"
1784                      alt=""
1785                    >
1786                  </a>
1787                
1788              
1789              
1790                
1791                  <a
1792                    href="/blogs/news"
1793                    class="banner qk-display--bk qk-hidden--pc qk-hidden--tablet"
1794                    target=""
1795                    rel=""
1796                  >
1797                    <img
1798                      src="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTE2MDAyXzk2MF_mnIDmlrDmtojmga8uanBnLmpwZWciXV0.jpeg?sha=04a6bcb5b150da28"
1799                      class="qk-w--100"
1800                      alt=""
1801                    >
1802                  </a>
1803                
1804              
1805              
1806              <div class="advance-rich-text-content-container">
1807                
1808              </div>
1809            </div>
1810          
1811      </div>
1812    
1813      
1814      
1815      <div class="block image mobile-1-col block-default-width-margin last-row" style="width: calc(33.333333333333336% - 6.666666666666667px);">
1816        
1817            <div class="img-card" id="1686109638114_0">
1818              
1819              
1820                
1821                  <a href="/blogs/媒體報導" class="banner qk-hidden--mobile" target="" rel="">
1822                    <img src="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTI5NTc4XzE5MjB4OTIwX-WqkumrlOWgseWwji5qcGcuanBlZyJdXQ.jpeg?sha=a2da60162e9c9f54" class="qk-w--100" alt="">
1823                  </a>
1824                
1825              
1826              
1827                
1828                  <a
1829                    href="/blogs/媒體報導"
1830                    class="banner qk-display--bk qk-hidden--phone qk-hidden--pc"
1831                    target=""
1832                    rel=""
1833                  >
1834                    <img
1835                      src="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTE2MDU0Xzk2MF_lqpLpq5TloLHlsI4uanBnLmpwZWciXV0.jpeg?sha=d4567729a9c5b0f2"
1836                      class="qk-w--100"
1837                      alt=""
1838                    >
1839                  </a>
1840                
1841              
1842              
1843                
1844                  <a
1845                    href="/blogs/媒體報導"
1846                    class="banner qk-display--bk qk-hidden--pc qk-hidden--tablet"
1847                    target=""
1848                    rel=""
1849                  >
1850                    <img
1851                      src="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTE2MDU0Xzk2MF_lqpLpq5TloLHlsI4uanBnLmpwZWciXV0.jpeg?sha=d4567729a9c5b0f2"
1852                      class="qk-w--100"
1853                      alt=""
1854                    >
1855                  </a>
1856                
1857              
1858              
1859              <div class="advance-rich-text-content-container">
1860                
1861              </div>
1862            </div>
1863          
1864      </div>
1865    
1866      
1867      
1868      <div class="block image mobile-1-col block-default-width-margin last-row" style="width: calc(33.333333333333336% - 6.666666666666667px);">
1869        
1870            <div class="img-card" id="1686109641362_0">
1871              
1872              
1873                
1874                  <a href="/pages/q&a" class="banner qk-hidden--mobile" target="" rel="">
1875                    <img src="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTI5NTkxXzE5MjB4OTIwX1EmQS5qcGcuanBlZyJdXQ.jpeg?sha=4c11815baeab4031" class="qk-w--100" alt="">
1876                  </a>
1877                
1878              
1879              
1880                
1881                  <a
1882                    href="/pages/q&a"
1883                    class="banner qk-display--bk qk-hidden--phone qk-hidden--pc"
1884                    target=""
1885                    rel=""
1886                  >
1887                    <img
1888                      src="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTE2MDg4Xzk2MF9RJkEuanBnLmpwZWciXV0.jpeg?sha=d1ac64b45fb824b6"
1889                      class="qk-w--100"
1890                      alt=""
1891                    >
1892                  </a>
1893                
1894              
1895              
1896                
1897                  <a
1898                    href="/pages/q&a"
1899                    class="banner qk-display--bk qk-hidden--pc qk-hidden--tablet"
1900                    target=""
1901                    rel=""
1902                  >
1903                    <img
1904                      src="//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MTE2MDg4Xzk2MF9RJkEuanBnLmpwZWciXV0.jpeg?sha=d1ac64b45fb824b6"
1905                      class="qk-w--100"
1906                      alt=""
1907                    >
1908                  </a>
1909                
1910              
1911              
1912              <div class="advance-rich-text-content-container">
1913                
1914              </div>
1915            </div>
1916          
1917      </div>
1918    
1919  </div>
1920</section>
1921
1922
1923<link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/_index_8_blocks-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
1923<script src='//cdn1-next.cybassets.com/frontend/shop/productCollection-4a1e7dfec7e41476.js' type='text/javascript'></script>
1923<!-- cyb_snippet _combo_product_related_items_modal start --><!-- cyb_snippet _combo_product_related_items_modal end -->
1924
1925
1926
1927<script>
1928  $(document).ready(function() {
1929    let isDynamicLoading = false;
1930
1931    function sendProductImpressions(products, collectionTitle) {
1932      if (products && products.length > 0) {
1933        var gtm_product = []
1934
1935        $.each(products, function(index, product) {
1936          productInfo = {
1937            'brand':    product.vendor,
1938            'category': product.product_type,
1939            'id':       product.id,
1940            'list':     'Index: ' + collectionTitle,
1941            'name':     product.title,
1942            'position': index + 1,
1943            'price':    product.price,
1944            'variant':  ''
1945          }
1946
1947          if (typeof google_tag_manager_id != 'undefined' || typeof cyb != 'undefined') {
1948            gtm_product.push(productInfo)
1949          }
1950        })
1951
1952        if (typeof google_tag_manager_id != 'undefined' && gtm_product.length > 0) {
1953          dataLayer.push({
1954            'event': 'productImpressions',
1955            'ecommerce': {
1956              'impressions': gtm_product
1957            }
1958          });
1959        }
1960
1961        if (typeof cyb != "undefined" && gtm_product.length > 0) {
1962          cyb.push({
1963            'event': 'productImpressions',
1964            'impressions': gtm_product
1965          });
1966        }
1967      }
1968    }
1969
1970    const props = {
1971      sectionId: "_index_8_blocks",
1972      collection: {
1973        id: 243267,
1974        title: "蔴粩類",
1975      },
1976      allProductCount: 9,
1977      cartEnabled: true,
1978      discountPriceSloganUrl: "",
1979      showMultipleLabels: false,
1980      collectionHandleUrl: "/collections/蔴粩類",
1981      blockProducts: 
1982{"products":[{"id":41075983,"title":"地瓜粩","handle":"地瓜粩","price":120.0,"vendor":null,"slogan":"","sell_from":"2024-01-12 00:00:00","url":"/products/地瓜粩","product_type":null,"total_sold":2752,"sold_out":false,"price_range":{"min":{"id":47435352,"price":120.0,"compare_at_price":null},"max":{"id":47435352,"price":120.0,"compare_at_price":null}},"show_slogan":false,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc1OTgzLzE2ODYxOTM0MTlfZGZhY2MzMTNiM2U3ODUyYzQzZjguanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=b8d3b34ed60454db","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc1OTgzLzE2ODYxOTM0MTlfZGZhY2MzMTNiM2U3ODUyYzQzZjguanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=b8d3b34ed60454db","//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc1OTgzLzE2ODYwNDA3ODZfOGViZWI2MTU3OTExNTcwZGU4NTYuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=bf144ea0985baf57","//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc1OTgzLzE2ODYwNDA3ODdfOWVlNWNlZDRmZGVkNTM3Y2Y1ZDAuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=455cd66493f4c240"]},{"id":41076076,"title":"花生粩","handle":"花生粩","price":120.0,"vendor":null,"slogan":"","sell_from":"2024-01-12 00:00:00","url":"/products/花生粩","product_type":null,"total_sold":7490,"sold_out":false,"price_range":{"min":{"id":47435455,"price":120.0,"compare_at_price":null},"max":{"id":47435455,"price":120.0,"compare_at_price":null}},"show_slogan":false,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MDc2LzE2ODYxOTM1MzlfMDU5MTc3NDZhZjM0MzQ3Mjg0MTIuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=f8e6e0f5d6a9fd23","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MDc2LzE2ODYxOTM1MzlfMDU5MTc3NDZhZjM0MzQ3Mjg0MTIuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=f8e6e0f5d6a9fd23","//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MDc2LzE2ODYwNDExNzlfMTM3N2VlYTZiZWQ5MjFlNGI0ZTYuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=6c4ba006bfd9685f","//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MDc2LzE2ODYwNDExNzlfMzA0MDE4MmY5ZTY0MjQ5ZGMzMWYuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e009c2f9d9484592"]},{"id":41076141,"title":"黑芝麻粩","handle":"黑芝麻粩","price":120.0,"vendor":null,"slogan":"","sell_from":"2024-01-12 00:00:00","url":"/products/黑芝麻粩","product_type":null,"total_sold":1460,"sold_out":false,"price_range":{"min":{"id":47435531,"price":120.0,"compare_at_price":null},"max":{"id":47435531,"price":120.0,"compare_at_price":null}},"show_slogan":false,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MTQxLzE2ODYwNDE0NDhfNWI1OThlMzMxYzkwYjEwZTY0NjguanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=0aaf14852cf62eb3","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MTQxLzE2ODYwNDE0NDhfNWI1OThlMzMxYzkwYjEwZTY0NjguanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=0aaf14852cf62eb3","//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MTQxLzE2ODYwNDE0NDhfMDQwYTdiMGM4MGMzOTFlNzdlNjQuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=897187515de62b8c","//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MTQxLzE2ODYwNDE0NDhfNmRhYWNlZjY1OTEzNjRhMGVjYTEuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=659daca441b2b2c8"]},{"id":41075960,"title":"白芝麻粩","handle":"白芝麻粩","price":120.0,"vendor":null,"slogan":"","sell_from":"2024-01-12 00:00:00","url":"/products/白芝麻粩","product_type":null,"total_sold":1975,"sold_out":false,"price_range":{"min":{"id":47435326,"price":120.0,"compare_at_price":null},"max":{"id":47435326,"price":120.0,"compare_at_price":null}},"show_slogan":false,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc1OTYwLzE2ODYwNDA2ODlfYzU5NTk1NzhjNmI4NWQ2MmI3OWEuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=9d32511327b0f617","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc1OTYwLzE2ODYwNDA2ODlfYzU5NTk1NzhjNmI4NWQ2MmI3OWEuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=9d32511327b0f617","//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc1OTYwLzE2ODYwNDA2ODlfMGE5N2ExNTU2MzY2ZmY4YjJjOTQuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=1c51bf8f6522b8dc","//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc1OTYwLzE2ODYwNDA2ODlfOGRhNDM0YjlmMDY5ZGNhMTA1OTUuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=7bfee21d99823f64"]},{"id":41076064,"title":"海苔芝麻粩","handle":"芝麻海苔粩","price":120.0,"vendor":null,"slogan":"","sell_from":"2024-01-12 00:00:00","url":"/products/芝麻海苔粩","product_type":null,"total_sold":940,"sold_out":false,"price_range":{"min":{"id":47435441,"price":120.0,"compare_at_price":null},"max":{"id":47435441,"price":120.0,"compare_at_price":null}},"show_slogan":false,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MDY0LzE2ODYxOTM1MTFfYmJjODRlN2IxMWVhODEzYmZlZjkuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e6289859ae3d6bdc","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MDY0LzE2ODYxOTM1MTFfYmJjODRlN2IxMWVhODEzYmZlZjkuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e6289859ae3d6bdc","//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MDY0LzE2ODYwNDExMzZfZDc2YWE4NmI0NGQzMTFhNTI3OWYuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=cdd75641b56d3efd","//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MDY0LzE2ODYwNDExMzZfMmQzNGUyYWJiNTgxMDlkMDM2MDIuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=64d9342338efaad0"]},{"id":41076190,"title":"椰奶粩","handle":"椰奶粩","price":120.0,"vendor":null,"slogan":"","sell_from":"2024-01-12 00:00:00","url":"/products/椰奶粩","product_type":null,"total_sold":629,"sold_out":false,"price_range":{"min":{"id":47435589,"price":120.0,"compare_at_price":null},"max":{"id":47435589,"price":120.0,"compare_at_price":null}},"show_slogan":false,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MTkwLzE2ODYwNDE2OTdfNjA1MTcyMmU1ODI0ZDVlYTA1YWYuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e65372d23e794466","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MTkwLzE2ODYwNDE2OTdfNjA1MTcyMmU1ODI0ZDVlYTA1YWYuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e65372d23e794466","//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MTkwLzE2ODYwNDE2OTdfNjI0ZDQ5ODgwZmQ0YTM4MzY1OTguanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=184ab1e763632cab","//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MTkwLzE2ODYwNDE2OThfZWFmZmI2OGE3NzJmMGM1MzlhNDUuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=806f3b21ce4736a6"]},{"id":41075992,"title":"杏仁粩(過年不出)","handle":"杏仁粩","price":120.0,"vendor":null,"slogan":"","sell_from":"2024-01-12 00:00:00","url":"/products/杏仁粩","product_type":null,"total_sold":942,"sold_out":false,"price_range":{"min":{"id":47435361,"price":120.0,"compare_at_price":null},"max":{"id":47435361,"price":120.0,"compare_at_price":null}},"show_slogan":false,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc1OTkyLzE2ODYwNDA4NDNfZjVkOTgxNzg4ZjVkMTU5ZDc0NTQuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=89f388b984e45888","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc1OTkyLzE2ODYwNDA4NDNfZjVkOTgxNzg4ZjVkMTU5ZDc0NTQuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=89f388b984e45888","//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc1OTkyLzE2ODYwNDA4NDNfM2M1NGRjNDM3YzllNTFmN2ZkMjQuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=6822ab5213415e38","//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc1OTkyLzE2ODYwNDA4NDNfNGQwOGI5YzA
19821OWE4YjQyMmE5YjUuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=afac4dc806ec519b"]},{"id":41076093,"title":"黑紫米香粩(過年不出)","handle":"黑米香粩","price":120.0,"vendor":null,"slogan":"","sell_from":"2024-01-12 00:00:00","url":"/products/黑米香粩","product_type":null,"total_sold":199,"sold_out":false,"price_range":{"min":{"id":47435476,"price":120.0,"compare_at_price":null},"max":{"id":47435476,"price":120.0,"compare_at_price":null}},"show_slogan":false,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MDkzLzE2ODYwNDEyMjlfZTliY2Q2MzA0Mzg0OTRjZTc3NDEuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=6c61a67f8784c01a","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MDkzLzE2ODYwNDEyMjlfZTliY2Q2MzA0Mzg0OTRjZTc3NDEuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=6c61a67f8784c01a","//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MDkzLzE2ODYwNDEyMjlfZTdjYjU0MGVlNDliYjYyZjkxZDguanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=c59707bf347aa9db","//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MDkzLzE2ODYwNDEyMjlfYThmYzk5YjQ1N2I1M2NkNjgxYmEuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e05ec35784538471"]},{"id":41076250,"title":"綜合蔴粩(全素)(過年不出)","handle":"綜合蔴粩全素","price":120.0,"vendor":null,"slogan":"","sell_from":"2024-01-12 00:00:00","url":"/products/綜合蔴粩全素","product_type":null,"total_sold":2906,"sold_out":false,"price_range":{"min":{"id":47435658,"price":120.0,"compare_at_price":null},"max":{"id":47435658,"price":120.0,"compare_at_price":null}},"show_slogan":false,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MjUwLzE2ODYwNDE5NjZfNmU1ZDNkNGI3MTBmYmQxYmI0MjIuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=8d55a161e8e7d616","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MjUwLzE2ODYwNDE5NjZfNmU1ZDNkNGI3MTBmYmQxYmI0MjIuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=8d55a161e8e7d616","//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MjUwLzE2ODYwNDE5NjZfZTEwMTc0YmZiZDAxMTg5NDFmYTEuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=7df3b90072edda2b","//cdn1-next.cybassets.com/media/W1siZiIsIjI0NjA2L3Byb2R1Y3RzLzQxMDc2MjUwLzE2ODYwNDE5NjZfODE1MTBlMWZiNDk1N2EyMTdiNjUuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=75a40f9519522ef6"]}]}
1983,
1984      sessionTitle: null,
1985      section: {"type":"_index_8_blocks","visible":true,"settings":{"dict_title":"暢銷商品","collection_handle":"蔴粩類","limit":"12","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"24","product_display":"displayPartial","product_arrangement":"1"},"custom_name":"商品分類"},
1986      productURLSearch: "",
1987      hasIntegratedProductLabelsPlugin: false,
1988      isDisplayPriceRange: null || false,
1989      pageType: "index",
1990    }
1991    if (isDynamicLoading) {
1992      window.DynamicLoading.setupComponent({
1993        sectionId: '#index_8_blocks-_index_8_blocks',
1994        callbackData: props,
1995        entryName: 'renderProductCollection',
1996        source: '//cdn1-next.cybassets.com/frontend/shop/productCollection-4a1e7dfec7e41476.js',
1997      });
1998    } else {
1999      renderProductCollection('#index_8_blocks-_index_8_blocks', props);
2000    }
2001    var products = props.blockProducts && props.blockProducts.products;
2002    if (products) {
2003      sendProductImpressions(products, props.collection.title);
2004    }
2005  });
2006</script>
2006
2007
2008<style>
2009  [id="_index_8_blocks"] {
2010    margin: 0 0px 50px !important;
2011  }
2012  @media (max-width: 991px) {
2013    [id="_index_8_blocks"] {
2014      margin: 0 0px 24px !important;
2015    }
2016  }
2017</style>
2018
2019<section id="_index_8_blocks" class="index_8_blocks qk-text--center">
2020  <div id="index_8_blocks-_index_8_blocks"></div>
2021</section>
2022
2023
2024
2025
2026
2027  <!-- 加入購物車 -->
2028  
2029    <!-- cyb_snippet new_addcart_modal start -->
2030<link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/vue_product_modal-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
2031
2032<div id="new-addcart-modal" class="container">
2033  <transition name="modal">
2034    <product-modal
2035      v-if="showProductModal"
2036      :only-description="onlyDescription"
2037      :product-url="popProductUrl"
2038      :color="color"
2039      :is-collection="isCollection"
2040      :is-show-description="isShowDescription"
2041      :is-quick-buy="isQuickBuy"
2042      :selected-variant-id="selectedVariantId"
2043      :categories="categories"
2044      :call-back="checkoutAddToCartCallback"
2045      ref="productModal"
2046    >
2047    </product-modal>
2048  </transition>
2049</div>
2050
2051<!-- cyb_snippet components/product_modal/product_modal start -->
2052<script type="text/x-template" id="product-modal">
2053  <div class="modal-mask qk-h--100 qk-w--100 qk-l--0 qk-t--0 qk-pos--fixed" @click="closeModal">
2054    <div class="modal-content qk-bd--none qk-center qk-bg--theme_bg" :class="{'only-description': onlyDescription}" @click.stop>
2055      <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>
2056      <div class="modal-body custom-scrollbar qk-w--100">
2057        <div v-if="!isLoading">
2058          <div id="checkout-product" class="row">
2059            <div class="col-sm-6 col-xs-4">
2060              <photo-swiper
2061                :mediaItems="swiperItems"
2062                :current-image-index="currentImageIndex"
2063                :current-variant="currentVariant"
2064                :video-after-image="videoAfterImage"
2065              ></photo-swiper>
2066            </div>
2067            <div class="col-sm-6 col-xs-8">
2068              <h4 class="qk-fs--hd2 qk-fw--bold qk-text--heading qk-mg--0" v-html="product.title"></h4>
2069              <p class="product_brief qk-text--text qk-fs--body" v-html="product.brief"></p>
2070              <p class="product_slogan qk-text--heading qk-fs--body" v-html="product.slogan"></p>
2071              <div class="swiper_thumbnails" style="margin-bottom: 10px;">
2072                <swiper-thumbnails
2073                  :mediaItems="swiperItems"
2074                  :current-image-index="currentImageIndex"
2075                  :title="product.title"
2076                  @update-current-image-index="(thumbnailIndex) => { currentImageIndex = thumbnailIndex }"
2077                ></swiper-thumbnails>
2078              </div>
2079              
2080              <div v-if="!hidePrice" style="margin-bottom: 10px;">
2081                
2082                <span class="price-title qk-fs--body qk-fw--500 qk-text--heading">${ priceTitleTag }</span>
2083                
2084                <div>
2085                  <span v-html="variantPrice" class="variant-price qk-fs--hd1 qk-fw--bold" :class="[isDiscountPrice ? 'qk-text--discount_price' : 'qk-text--price']"></span>
2086                  <del v-html="marketPrice" class="variant-del-price qk-fs--body qk-fw--500 qk-text--text"></del>
2087                </div>
2088              </div>
2089              <div v-if="!onlyDescription" class="controls">
2090                <div class="variant-quantity qk-display--flex qk-flex--column">
2091                  <div v-if="hasVariant" class="product-variant-options">
2092                    <div v-for="(option, index) in optionInfo" class="product-variant-option" :class="{'product-variant-option--hidden': shouldHideSingleVariantOptions}">
2093                      <div class="advance variant-select-option" v-if="styledShopMenu==='dropDownType'">
2094                      
2095                        <label>${option.name}</label>
2096                        <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>
2097                        <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}`)">
2098                          <option value="null" class="select_option-hidden">請選擇${option.name}</option>
2099                          <option :style="{ visibility : isMobileSize ? 'hidden' : 'visible' }" v-for="(types) in option.types" :disabled="!types.isValid" :value="types.name">${types.name}</option>
2100                        </select>
2101                        <span class="select_placeholder-color" v-if="currentOption[`option${index + 1}`] === null" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)">請選擇${option.name}</span>
2102                        <span v-else :value="currentOption[`option${index + 1}`]" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)" v-html="currentOption[`option${index + 1}`]"></span>
2103                      </div>
2104                      <advance-option v-else :option-key="'option' + (index + 1)" :option="option" :current-option="currentOption" :toggle-current-option="toggleCurrentOption"/>
2105                    </div>
2106                  </div>
2107                  <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)">
2108                    <div class="list_block custom-scrollbar qk-of_x--hidden">
2109                      <h4 class="qk-text--heading qk-fs--body">此商品參與的優惠活動
2110                      </h4>
2111                      <template v-if="displayPeriodicSalesPages">
2112                        <div v-for="salesPage in product.showableSalesPages" class="discount-list">
2113                          <span class="discount-label qk-fs--breadcrumb qk-bd--default qk-bd--accent qk-bg--white qk-display--il_bk qk-text--accent">定期定額
2114                          </span>
2115                          <a class="discount-title qk-text--accent qk-fs--body" :href="salesPage.path">${ salesPage.title }</a>
2116                        </div>
2117                      </template>
2118                      <template v-for="discounts in discountsList">
2119                        <div v-for="discount in discounts" class="discount-list">
2120                          <a v-if="discount.url" :href="discount.url" class="discount-title qk-text--accent qk-fs--body">
2121                            ${ discount.title }
2122                          </a>
2123                          <span v-else class="discount-title qk-text--accent qk-fs--body">${ discount.title }</span>
2124                        </div>
2125                      </template>
2126                    </div>
2127                  </div>
2128                  <div v-if="showPurchaseControls" class="product-quantity qk-bd--product_border" v-show="!isMobileSize">
2129                    <div class="btn-group qk-w--100" role="group" aria-label="First group">
2130                      <button class="btn add-down qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityDecrease">-</button>
2131                      <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">
2132                      <button class="btn add-up qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityIncrease">+</button>
2133                    </div>
2134                  </div>
2135                </div>
2136                <div v-if="showPurchaseControls" class="add-button-wrapper">
2137                  <!-- cyb_snippet _product_modal_button start -->
2138<button
2139  class="btn btn-default add-button qk-cursor--pointer qk-w--100 qk-btn--primary"
2140  :class="{selected: isChoose, adding: adding || isHideAddCartBtn, secondary: isSecondaryBtn, 'qk-btn--disabled': isHideAddCartBtn && isNewNnCollection, 'qk-bd--none': isHideAddCartBtn && isNewNnCollection}"
2141  type="button"
2142  :disabled="isHideAddCartBtn"
2143  @click="addProduct"
2144>
2145  ${ addCartText }
2146</button>
2147
2148<!-- cyb_snippet _product_modal_button end -->
2149                </div>
2150                <div class="product-others qk-fs--body">
2151                  <span class="product-love">
2152                    <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">
2153                      <svg
2154                        width="15"
2155                        height="15"
2156                        viewBox="0 0 24 24"
2157                        fill="none"
2158                        xmlns="http://www.w3.org/2000/svg">
2159                        <path
2160                          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"
2161                          stroke="currentColor"
2162                          stroke-width="2"
2163                          stroke-linecap="round"
2164                          stroke-linejoin="round" />
2165                      </svg>
2166                      加入最愛
2167                    </a>
2168                  </span>
2169                  <span class="product_sold qk-text--text" v-if="false">
2170                    <span>已銷售:
2171                      ${ product.totalSold }
2172                      ä»¶
2173                    </span>
2174                  </span>
2175                  <span class="product_bonus qk-text--text" v-if="false">
2176                    此商品 「 最高 」可以折抵紅利
2177                    <span class="val qk-fw--600 qk-fs--hd2" v-if="currentVariant">${currentVariant.maxUsableBonus}</span>
2178                    <span class="val qk-fw--600 qk-fs--hd2" v-else>${maxUsableBonus}</span>
2179                    點
2180                    <span v-html="bonusToPrice"/>
2181                  </span>
2182                </div>
2183                <div class='product_limit_buy qk-fs--body' v-show="product.minBuy > 0 || product.limitBuy > 0">
2184                  ${limitBuyText}
2185                </div>
2186              </div>
2187            </div>
2188          </div>
2189          <div v-if="isShowDescription" class="row">
2190            <div class="col-sm-12">
2191              
2192                <div v-if="product.bodyHtml">
2193                  <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading">
2194                    商品介紹
2195                  </h5>
2196                  <div class="ckeditor">
2197                    <div v-html="product.bodyHtml"></div>
2198                  </div>
2199                </div>
2200              
2201              
2202                <div v-if="otherDescriptions['product_description_section_spec']">
2203                  <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading">
2204                    規格說明
2205                  </h5>
2206                  <div class="ckeditor">
2207                    <div v-html="otherDescriptions['product_description_section_spec']"></div>
2208                  </div>
2209                </div>
2210              
2211              
2212                <div v-if="otherDescriptions['product_description_section_shipping']">
2213                  <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading">
2214                    運送方式
2215                  </h5>
2216                  <div class="ckeditor">
2217                    <div v-html="otherDescriptions['product_description_section_shipping']"></div>
2218                  </div>
2219                </div>
2220              
2221            </div>
2222          </div>
2223        </div>
2224        <div v-show="isLoading" style="text-align: center; padding-bottom: 20px;">
2225          <i class="fas fa-spinner fa-spin fa-fw fa-2x"></i>
2226        </div>
2227      </div>
2228        <!-- cyb_snippet _product_modal_button_mobile start -->
2229 <div
2230  v-if="showPurchaseControls"
2231  v-show="isMobileSize"
2232  class="mobile_footer"
2233  :class="{'mobile_footer-z': variantSize > 1 }">
2234        <div class="product-quantity">
2235          <div class="btn-group qk-w--100" role="group" aria-label="First group">
2236            <button class="btn add-down qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityDecrease">-</button>
2237            <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">
2238            <button class="btn add-up qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityIncrease">+</button>
2239          </div>
2240        </div>
2241        <button
2242          v-if="!isLoading && !onlyDescription"
2243          class="btn btn-mobile add-button qk-btn qk-btn--primary qk-btn--lg"
2244          :class="{selected: isChoose, adding: adding || isHideAddCartBtn, 'qk-btn--disabled': isHideAddCartBtn && isNewNnCollection, 'qk-bd--none': isHideAddCartBtn && isNewNnCollection}"
2245          type="button"
2246          :disabled="isHideAddCartBtn"
2247          @click="addProduct">
2248            ${ addCartText }
2249        </button>
2250</div>
2251<div
2252  class="mobile-modal"
2253  :class="{ 'modal-open': isModalSelectShow && isMobileSize }">
2254        <div class="mobile_modal-content">
2255          <div class="modal_close-button">
2256            <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>
2257          </div>
2258          
2259          <p>請選擇${modalOption.name}</p>
2260          <div class="modal_select-templete qk-display--flex qk-of_y--auto qk-w--100">
2261            <div class="options-container">
2262              <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>
2263            </div>
2264          </div>
2265          <div v-if="variantSize > 1" class="modal_select_footer qk-display--flex">
2266            <button type="button" class="modal_cancel qk-bd--default qk-btn--secondary qk-bd--button qk-text--button" @click="onChangeModalSelect(false,false)">取消</button>
2267            <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>
2268          </div>
2269        </div>
2270</div>
2271
2272<!-- cyb_snippet _product_modal_button_mobile end -->
2273    </div>
2274  </div>
2275</script>
2275
2276
2277<!-- cyb_snippet components/product_modal/color_image_option start -->
2278<script id="color-image-option" type="text/x-template">
2279  <div class="color-image qk-display--flex qk-flex--wrap qk-align--center">
2280    <div class="title">顏色</div>
2281    <div
2282      v-for="(imageColor, index) in imageColors"
2283      :class="{
2284        'focus': !currentOption[optionKey] === option.types[index].name && currentImageIndex === index,
2285        'selected': currentOption[optionKey] === option.types[index].name,
2286        'disabled': !option.types[index].isValid
2287      }"
2288      class="image-option img-flex qk-bd--default qk-bd--transparent qk-display--block qk-pos--rel"
2289      @mouseleave="setCurrentImageIndex(index)"
2290      @mouseover="getOptionImageIndex(index)"
2291      @click="setOption(optionKey, index)"
2292    >
2293      <img v-if="imageColor !== 'noColorImage'" :src="imageColor.large" alt="image">
2294      <img v-else src="/assets/no-image-large.png" alt="image">
2295    </div>
2296  </div>
2297</script>
2297
2298
2299<script type="text/javascript">
2300  $(document).ready(function() {
2301    window.themeHelper.productModalComponents['color-image-option'] = {
2302      template: '#color-image-option',
2303      delimiters: ['${', '}'],
2304      props: {
2305        optionKey: String,
2306        option: Object,
2307        product: Object,
2308        imageColors: Array,
2309        isChoose: Boolean,
2310        currentImageIndex: Number,
2311        setCurrentImageIndex: Function,
2312        getOptionImageIndex: Function,
2313        currentOption: Object,
2314        toggleCurrentOption: Function,
2315      },
2316      methods: {
2317        setOption: function(optionKey, index) {
2318          const type = this.option.types[index];
2319          if(type.isValid){
2320            this.toggleCurrentOption(optionKey, type.name);
2321          }
2322        }
2323      }
2324    };
2325  });
2326</script>
2326
2327
2328<!-- cyb_snippet components/product_modal/color_image_option end -->
2329<!-- cyb_snippet components/product_modal/advance_option start -->
2330<script id="advance-option" type="text/x-template">
2331  <div class="advance">
2332    <div class="title qk-text--heading qk-fs--body">${option.name}</div>
2333    <div
2334      v-for="type in option.types"
2335      :class="{
2336        'selected': currentOption[optionKey] === type.name,
2337        'disabled': !type.isValid
2338      }"
2339      @click="setOption(optionKey, type)"
2340      class="option qk-btn  qk-bd--button qk-text--button qk-pd_x--1"
2341    >
2342      ${type.name}
2343    </div>
2344  </div>
2345</script>
2345
2346
2347<script type="text/javascript">
2348  $(document).ready(function() {
2349    window.themeHelper.productModalComponents['advance-option'] = {
2350      template: '#advance-option',
2351      delimiters: ['${', '}'],
2352      props: {
2353        optionKey: String,
2354        option: Object,
2355        product: Object,
2356        currentOption: Object,
2357        toggleCurrentOption: Function,
2358      },
2359      methods: {
2360        setOption: function(optionKey, type) {
2361          if(type.isValid){
2362            this.toggleCurrentOption(optionKey, type.name);
2363          }
2364        }
2365      }
2366    };
2367  });
2368</script>
2368
2369
2370<!-- cyb_snippet components/product_modal/advance_option end -->
2371
2372<!-- cyb_snippet components/product_modal/photo_swiper start -->
2373
2374
2375<script id="photo-swiper" type="text/x-template">
2376  <div ref="photoSwiper" id="photo_swiper" class="photos swiper swiper-container">
2377    <div class="swiper-wrapper">
2378      <template v-if="hasImage">
2379        <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">
2380          <video-player v-if="item.url" :video="item"
2381            :video-poster=" !!mediaItems[firstImageIndex] ? mediaItems[firstImageIndex].large : '//cdn1-next.cybassets.com/img_loading.svg' "
2382          >
2383          </video-player>
2384          <img v-else class="qk-center" :src="item.large" alt="image"/>
2385        </div>
2386      </template>
2387      <div v-else class="photo swiper-slide qk-align--center qk-display--flex qk-justify--center qk-vert--text_top default_scale">
2388        <img src="//cdn1-next.cybassets.com/assets/no-image-large-2b95ea56c455be9ce081d81c14eded925df68bf8fa38809e46f6af8fcdd5f9bc.png" alt="image" />
2389      </div>
2390    </div>
2391    <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>
2392    <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>
2393
2394    <div class="photo-pagination qk-bd--default qk-bd--body qk-text--center qk-text--body qk-fs--breadcrumb qk-visible-sm">
2395        <span class="current-index qk-text--default_dark">${currentImageIndex +1 }</span><span class="pagination-slash">/</span>
2396        <span>${mediaItems.length}</span>
2397      </div>
2398  </div>
2399</script>
2399
2400
2401<script>
2402  $(document).ready(function () {
2403    window.themeHelper.productModalComponents['photo-swiper'] = {
2404      template: '#photo-swiper',
2405      delimiters: ['${', '}'],
2406      props: {
2407        mediaItems: Array,
2408        currentImageIndex: Number,
2409        currentVariant: Object,
2410        videoAfterImage: Boolean,
2411      },
2412      data: function () {
2413        return {
2414          swiper: {},
2415          swiperOption: {
2416            preventInteractionOnTransition: true,
2417            rewind: true,
2418            spaceBetween: 5,
2419            slidesPerView: 1,
2420            navigation: {
2421              nextEl: '.photo-next',
2422              prevEl: '.photo-prev'
2423            }
2424          },
2425          showBtn: true,
2426          isVariantReposition: false,
2427        }
2428      },
2429      mounted: function() {
2430        this.swiper = new Swiper('#photo_swiper', this.swiperOption);
2431        this.swiper.on('slideChange', this.slideOnChange);
2432      },
2433      watch: {
2434        currentImageIndex: function() {
2435          this.slideToIndex();
2436        },
2437        currentVariant: {
2438          immediate: true,
2439          handler: function() {
2440            this.showBtn = this.mediaItems.length > 1;
2441            this.isVariantReposition = true;
2442            this.$nextTick(() => {
2443              if (this.swiper) {
2444                this.swiper.update();
2445                this.swiper.slideToLoop(this.initialItemIndex)
2446                this.slideOnChange();
2447                this.isVariantReposition = false;
2448              }
2449            });
2450          },
2451        },
2452      },
2453      computed: {
2454        hasImage: function() {
2455          return this.mediaItems.length > 0;
2456        },
2457        hasVideo: function() {
2458          return this.mediaItems.findIndex(item => !!item.url) !== -1;
2459        },
2460        variantPhotos: function() {
2461          if (this.currentVariant?.photos?.length) {
2462            return this.currentVariant.photos;
2463          } else  {
2464            return null;
2465          }
2466        },
2467        initialItemIndex: function() {
2468          if (this.hasVideo && !this.videoAfterImage) {
2469            // Focus on photo if "variant with photos" selected, video otherwise
2470            return this.variantPhotos?.length ? 1 : 0;
2471          } else {
2472            // Focus on first photo
2473            return 0;
2474          }
2475        },
2476      },
2477      methods: {
2478        slideOnChange: function() {
2479          themeHelper.EventBus.$emit('photoOnChange', this.swiper.realIndex, this.isVariantReposition);
2480        },
2481        slideToIndex: function() {
2482          if(this.swiper.realIndex != this.currentImageIndex) {
2483            this.swiper.slideToLoop(this.currentImageIndex);
2484            this.swiper.update();
2485          }
2486        },
2487      }
2488    };
2489  });
2490</script>
2490
2491
2492
2493<!-- cyb_snippet components/product_modal/video_player start -->
2494<script id="video-player" type="text/x-template">
2495  <div class="videoPlayer__wrapper" @click="handleVideoClick">
2496    <video 
2497      id='modal-video'
2498      class="videoPlayer__video qk-cursor--pointer qk-center" 
2499      :poster="videoPoster"
2500      loop defaultMuted muted playsinline webkit-playsinline autoplay
2501    >
2502      <source :src="videoUrl" type="video/mp4">
2503      <p>你的瀏覽器不支援 HTML 5 video</p>
2504    </video>
2505    <button id="modal-video-button" class="videoPlayer__pauseButton"></button>
2506  </div>
2507</script>
2507
2508
2509<script>
2510  $(document).ready(function () {
2511    window.themeHelper.productModalComponents['video-player'] = {
2512      template: '#video-player',
2513      delimiters: ['${', '}'],
2514      props: {
2515        video: Object,
2516        videoPoster: String,
2517      },
2518      data: function() {
2519        return {
2520          videoElement: null,
2521          buttonElement: null,
2522        };
2523      },
2524      mounted: function() {
2525        this.videoElement = $('#modal-video')[0];
2526        this.buttonElement = $('#modal-video-button');
2527        this.setVideoVolumeZero();
2528        this.videoElement.addEventListener('canplay', (event) => {
2529          this.sendGtag('play');
2530        }, { once: true });
2531      },
2532      computed: {
2533        videoUrl: function() {
2534          return this.video.url;
2535        }
2536      },
2537      methods: {
2538        sendGtag: function(action) {
2539          window.productVideoView && productVideoView(action);
2540        },
2541        setVideoVolumeZero: function() {
2542          this.videoElement.volume = 0;
2543        },
2544        handleVideoClick: function() {
2545          if (this.videoElement.paused){
2546            this.videoElement.play();
2547            this.sendGtag('play');
2548          } else {
2549            this.videoElement.pause();
2550            this.sendGtag('paused');
2551          }
2552          this.handleVideoButtonDisplay(this.buttonElement, this.videoElement);
2553        },
2554        handleVideoButtonDisplay: function(button, video) {
2555          button.toggleClass('videoPlayer__playButton', video.paused);
2556          button.toggleClass('videoPlayer__pauseButton', !video.paused);
2557        },
2558      }
2559    };
2560  });
2561</script>
2561
2562
2563<!-- cyb_snippet components/product_modal/video_player end -->
2564
2565<!-- cyb_snippet components/product_modal/photo_swiper end -->
2566<!-- cyb_snippet components/product_modal/swiper_thumbnails start -->
2567<script id="swiper-thumbnails" type="text/x-template">
2568  <div
2569    v-for="(thumbnail, index) in allThumbnails"
2570    :key="index"
2571    class="product-thumbnail img-flex qk-of--hidden qk-display--il_bk qk-cursor--pointer qk-bd--default qk-bd--transparent default_scale"
2572    :class="{ focus: index === currentImageIndex }"
2573    @mouseover="updateCurrentImageIndex(index)"
2574  >
2575    <template v-if="thumbnail.isVideo">
2576      <video class="qk-w--100 qk-h--100" :src="thumbnail.url" defaultMuted playsinline></video>
2577      <button class="videoPlayer__playButton"></button>
2578    </template>
2579    <img v-else :src="thumbnail.url" :alt="title" class="qk-w--100 qk-h--100">
2580  </div>
2581</script>
2581
2582
2583<script type="text/javascript">
2584  $(document).ready(function () {
2585    window.themeHelper.productModalComponents['swiper-thumbnails'] = {
2586      template: '#swiper-thumbnails',
2587      delimiters: ['${', '}'],
2588      props: {
2589        title: String,
2590        mediaItems: Array,
2591        currentImageIndex: Number,
2592      },
2593      emits: ['updateCurrentImageIndex'],
2594      methods: {
2595        updateCurrentImageIndex: function(thumbnailIndex) {
2596          if (thumbnailIndex !== this.currentImageIndex ) {
2597            this.$emit('updateCurrentImageIndex', thumbnailIndex);
2598          }
2599        },
2600      },
2601      mounted() {
2602        // can be removed after replacing video thumbnail with img
2603        const thumbnailVideo = $('.product-thumbnail video')[0];
2604        if (!!thumbnailVideo) {
2605          thumbnailVideo.volume = 0;
2606          const promise = thumbnailVideo.play();
2607          promise.then(() => {
2608            thumbnailVideo.pause();
2609          })
2610        }
2611      },
2612      computed: {
2613        allThumbnails: function() {
2614          return this.mediaItems.map(item => ({
2615            isVideo: !!item.url,
2616            url: item.url || item.medium
2617          }));
2618        },
2619      },
2620      watch: {
2621        allThumbnails: {
2622          handler(){
2623            this.updateCurrentImageIndex(this.currentImageIndex);
2624          }
2625        }
2626      }
2627    };
2628  });
2629</script>
2629
2630
2631<!-- cyb_snippet components/product_modal/swiper_thumbnails end -->
2632
2633
2634<!-- cyb_snippet _product_modal_js start -->
2635<script type="text/javascript">
2636  $(document).ready(function() {
2637    var categoryLevels = [];
2638    var productCategoryLevels = null;
2639    var pageMainProductId = null;
2640    window.themeHelper.productModalComponents['product-modal'] = {
2641      template: '#product-modal',
2642      delimiters: [
2643        '${', '}'
2644      ],
2645      props: {
2646        onlyDescription: Boolean,
2647        cartItems: Array,
2648        groupId: Number,
2649        productUrl: String,
2650        color: String, // unused
2651        collectionId: Number,
2652        categories: Array,
2653        // 判斷是否有色票展開
2654        isCollection: {
2655          type: Boolean,
2656          required: false,
2657          default: false,
2658        },
2659        // 判斷加入購物車的方法
2660        isNnCollection: Boolean,
2661        isNewNnCollection: Boolean,
2662        isBundleDiscount: Boolean,
2663
2664        // 判斷是否顯示商品描述
2665        isShowDescription: {
2666          type: Boolean,
2667          default: true
2668        },
2669
2670        // 判斷是否為立即購買
2671        isQuickBuy: {
2672          type: Boolean,
2673          default: false
2674        },
2675        selectedVariantId: Number,
2676        callBack: Function
2677      },
2678      data: function() {
2679        return {
2680          styledShopMenu: "buttonType",
2681          selectOption: '',
2682          selectCurrentStr:'',
2683          isModalSelectShow: false,
2684          modalOption: {},
2685          adding: false,
2686          currentImageIndex: 0,
2687          _navState: { variantId: null, photoIndex: 0 },
2688          currentOption: {
2689            option1: null,
2690            option2: null,
2691            option3: null
2692          },
2693          currentVariant: null,
2694          variantNotifications: null,
2695          currentVariantIndex: null,
2696          product: {},
2697          isChoose: false,
2698          isLoading: true,
2699          isEmptyClickable: liquidHelper.isEmptyClickable,
2700          quantity: 1,
2701          maxUsableBonus: 0,
2702          isDiscountPrice: false,
2703          displayProductDiscountsList: true,
2704          displayPeriodicSalesPages:false,
2705          discountsList: null,
2706          hasVideoPlugin: false,
2707          videoDisplayLocation: null,
2708          hasStockNotificationPlugin: true,
2709          isDisplayPriceRange: null,
2710          hasVariantPriceRangePlugin: true,
2711          hasHideSingleVariantOptionsPlugin: false,
2712        }
2713      },
2714      mounted: function() {
2715        this.getProductDetail();
2716        $('.custom-scrollbar').addCustomScrollbar();
2717        themeHelper.EventBus.$on('photoOnChange', this.photoOnChange);
2718      },
2719      beforeUnmount: function() {
2720        themeHelper.EventBus.$off('photoOnChange', this.photoOnChange);
2721      },
2722      computed: {
2723        photoUrls: function() {
2724          return this.product.photoUrls.length > 0
2725            ? this.product.photoUrls
2726            : [this.featuredImage];
2727        },
2728        photoUrlsMap: function() {
2729          var map = {};
2730          var urls = this.product.photoUrls;
2731          this.product.photos.forEach(function(photo, index) {
2732            map[photo.photo.id] = urls[index];
2733          });
2734
2735          return map;
2736        },
2737        featuredImage: function() {
2738          return this.product.featuredImage;
2739        },
2740        swiperPhotos: function() {
2741          if (!this.photoUrls.length) {
2742            return [this.featuredImage];
2743          }
2744
2745          if (this.currentVariant && this.currentVariant.photos.length) {
2746            var map = this.photoUrlsMap;
2747            return this.currentVariant.photos.map(function(p) {
2748              return map[p.id];
2749            });
2750          }
2751
2752          return this.photoUrls;
2753        },
2754        productVideo: function() {
2755          return this.product.video;
2756        },
2757        videoAfterImage: function() {
2758          return this.videoDisplayLocation === 'after';
2759        },
2760        swiperItems: function() {
2761          const media = [...this.swiperPhotos];
2762          if (
2763            this.hasVideoPlugin && this.productVideo.url
2764          ) {
2765            this.videoAfterImage
2766              ? media.push(this.productVideo)
2767              : media.unshift(this.productVideo);
2768          }
2769          return media;
2770        },
2771        firstImageIndex: function() {
2772          return this.hasVideoPlugin && this.productVideo.url && !this.videoAfterImage
2773            ? 1
2774            : 0
2775        },
2776        otherDescriptions: function() {
2777          var descriptions = {};
2778          this.product.otherDescriptions.forEach(function(od) {
2779            descriptions[od.settingName] = od.bodyHtml;
2780          })
2781          return descriptions
2782        },
2783        variantOptions: function() {
2784          return themeHelper.variantOptions(this.product);
2785        },
2786        firstValidVariant: function() {
2787          var self = this;
2788          var result = this.product.variants.find(function(variant) {
2789            // 增加 product modal 聯絡店家 property
2790            variant.imgUrl = "";
2791            variant.productTitle = "";
2792
2793            return variant.available;
2794          });
2795
2796          return result
2797            ? result
2798            : null;
2799        },
2800        selectedValidVariant: function() {
2801          var self = this;
2802          var result = this.variantOptions.find(function(variant) {
2803            return variant.id === self.selectedVariantId;
2804          });
2805
2806          return result
2807            ? result
2808            : null;
2809        },
2810        totalInventoryQuantity: function(product) {
2811          return themeHelper.totalInventoryQuantity(this.product)
2812        },
2813        addCartText: function() {
2814          var variants = parseInt("");
2815          let isRegisteredNotification = this.currentVariant && this.variantNotifications && this.variantNotifications[this.currentVariant.id]
2816          if (this.isNnCollection || this.isBundleDiscount) {
2817            if (this.currentVariant && !themeHelper.variantIsAvailable(this.currentVariant)) {
2818              if (this.currentVariant.inventoryPolicy === 'continue') {
2819                if (this.isNnCollection) {
2820                  return this.isChoose && !this.isNewNnCollection
2821                    ? '已預購'
2822                    : '預購商品';
2823                }
2824              } else {
2825                return '已售完';
2826              }
2827            }
2828            if (this.totalInventoryQuantity === 0) {
2829              return '已售完';
2830            }
2831            return this.isChoose && !this.isNewNnCollection
2832              ? '已選購'
2833              : '選購';
2834          } else {
2835            if (this.isQuickBuy) {
2836              if (this.currentVariant && !themeHelper.variantIsAvailable(this.currentVariant)) {
2837                if (this.currentVariant.inventoryPolicy === 'continue'){
2838                  return '立即預購'
2839                }
2840                return this.hasStockNotificationPlugin
2841                  ? (isRegisteredNotification
2842                    ? '已登記補貨通知'
2843                    : '已售完,貨到通知我')
2844                  : '聯絡店家'
2845              }
2846              return '立即購買';
2847            } else {
2848              if (this.currentVariant) {
2849                if (!themeHelper.variantIsAvailable(this.currentVariant)) {
2850                  if (this.currentVariant.inventoryPolicy === 'continue'){
2851                    return '預購商品'
2852                  }
2853                  return this.hasStockNotificationPlugin
2854                    ? (isRegisteredNotification
2855                      ? '已登記補貨通知'
2856                      : '已售完,貨到通知我')
2857                    : '聯絡店家'
2858                }
2859              } else {
2860                if (this.totalInventoryQuantity === 0) {
2861                  return '已售完';
2862                }
2863              }
2864              return '加入購物車';
2865            }
2866          }
2867        },
2868        cartItem: function() {
2869          if (!this.currentVariant) {
2870            return null
2871          }
2872          return {
2873            id: this.currentVariant.id,
2874            groupId: this.groupId,
2875            productId: this.product.id,
2876            title: this.product.title,
2877            photo: this.currentVariant.imgUrl || this.featuredImage.large,
2878            quantity: this.quantity,
2879            price: this.currentVariant.price,
2880            variant: this.currentVariant,
2881            product: this.product
2882          }
2883        },
2884        options: function() {
2885          return this.product.options;
2886        },
2887        optionTypes: function() {
2888
2889          // 先根據設定的variants來排序
2890          var self = this;
2891
2892          var option1 = [];
2893          var option2 = [];
2894          var option3 = [];
2895          this.product.variants.forEach(function(item) {
2896            if (item.option1 !== null) {
2897              option1.push(item.option1);
2898            }
2899            if (item.option2 !== null) {
2900              option2.push(item.option2);
2901            }
2902            if (item.option3 !== null) {
2903              option3.push(item.option3);
2904            }
2905          })
2906          var filteredOptionTypes = [];
2907          this.product.optionTypes.forEach(function(item, index) {
2908            filteredOptionTypes.push(self.getUniqueVariant(eval('option' + (
2909              index + 1
2910            ))).join(','));
2911          });
2912          return filteredOptionTypes;
2913        },
2914        optionInfo: function() {
2915          var self = this;
2916
2917          return self.options.map(function(option, index) {
2918            return {
2919              name: option,
2920              types: self.getOptions('option' + (
2921                index + 1
2922              ), self.optionTypes[index].split(','))
2923            }
2924          });
2925        },
2926        hasVariant: function() {
2927          return this.product.options.length > 0;
2928        },
2929        shouldHideSingleVariantOptions: function() {
2930          return this.hasHideSingleVariantOptionsPlugin &&
2931                 this.product.variants &&
2932                 this.product.variants.length <= 1;
2933        },
2934        variantSize: function() {
2935          if(this.product.options){
2936          return this.product.options.length;
2937          }
2938        },
2939        firstVariant: function() {
2940          return this.product.variants[0];
2941        },
2942        firstCheapestVariant: function() {
2943          return this.product.variants.find((v)=> (v.price === this.priceStats.minPrice));
2944        },
2945        priceStats: function() {
2946          return this.product.variants.reduce(function(acc, variant) {
2947            return {
2948              minPrice: variant.price < acc.minPrice ? variant.price : acc.minPrice,
2949              maxPrice: variant.price > acc.maxPrice ? variant.price : acc.maxPrice,
2950            };
2951          }, {
2952            minPrice: this.firstVariant.price,
2953            maxPrice: this.firstVariant.price,
2954          });
2955        },
2956        hidePrice: function() {
2957          return this.product && this.product.hidePrice === true;
2958        },
2959        salesModePurchasable: function() {
2960          return !(this.product && this.product.salesModePurchasable === false);
2961        },
2962         // - 任選折扣/紅配綠:「選擇」只是加進試算清單,不會直接下單,故只擋藏價商品
2963        // - 其他情境(商品頁、群組頁、多層級分類、搜尋、首頁商品區塊):不可購買(含藏價)就整組收掉
2964        showPurchaseControls: function() {
2965          if (this.isNnCollection || this.isBundleDiscount) {
2966            return !this.hidePrice;
2967          }
2968          return this.salesModePurchasable;
2969        },
2970        variantPrice: function() {
2971          if (this.hidePrice) {
2972            return '';
2973          }
2974          var from = liquidHelper.defaultCurrency;
2975          if (this.currentVariant) {
2976            return moneySymbol(this.currentVariant.price, from);
2977          }
2978          if (this.product.variants.length === 1) {
2979            return moneySymbol(this.firstVariant.price, from);
2980          }
2981
2982          var minPrice = this.priceStats.minPrice;
2983          var maxPrice = this.priceStats.maxPrice;
2984
2985          if (minPrice !== maxPrice && (!this.hasVariantPriceRangePlugin || this.isDisplayPriceRange)) {
2986            this.isDiscountPrice = false;
2987            return moneySymbol(minPrice, from) + '~' + moneySymbol(maxPrice, from);
2988          } else {
2989            return moneySymbol(minPrice, from);
2990          }
2991        },
2992        marketPrice: function() {
2993          if (this.hidePrice) {
2994            this.isDiscountPrice = false;
2995            return;
2996          }
2997          var from = liquidHelper.defaultCurrency;
2998          if (this.currentVariant) {
2999            this.isDiscountPrice = false;
3000            if (this.currentVariant.compareAtPrice && this.currentVariant.compareAtPrice > this.currentVariant.price) {
3001              this.isDiscountPrice = true;
3002              return moneySymbol(this.currentVariant.compareAtPrice, from);
3003            }
3004          } else {
3005            if (!_.includes(this.variantPrice, '~')) {
3006              const price =  Number(this.variantPrice.replace(/[^0-9.
3006-]/g, ""))
3007              // 未選擇款式也不顯示區間時,顯示第一個最便宜的款式的定價
3008              if (this.firstCheapestVariant.compareAtPrice && this.firstCheapestVariant.compareAtPrice > price){
3009                this.isDiscountPrice = true;
3010                return moneySymbol(this.firstCheapestVariant.compareAtPrice, from);
3011              }
3012              // 未選擇款式時要改回一般價格顏色
3013              this.isDiscountPrice = false;
3014            }
3015          }
3016        },
3017        isShowDropdownList: function() {
3018          if (this.product.options.length > 0) {
3019            return true;
3020          }
3021          return this.product.variants.length > 1
3022        },
3023        priceTitleTag: function() {
3024          return this.marketPrice
3025            ? getDiscountPriceName()
3026            : getDiscountPriceSuggestionName();
3027        },
3028        isHideAddCartBtn: function() {
3029          if (this.addCartText === '已售完') {
3030            return true;
3031          }
3032          return false;
3033        },
3034        isSecondaryBtn: function() {
3035          if (this.addCartText === '聯絡店家') {
3036            return true;
3037          }
3038          return false;
3039        },
3040        variantsMaxUsableBonus: function() {
3041          var variants = this.product.variants;
3042          var maxUsableBonusArray = variants.map(function(item) {
3043            return item.maxUsableBonus
3044          });
3045          return Math.max.apply(null, maxUsableBonusArray);
3046        },
3047        bonusToPrice: function() {
3048          const bonus = this.currentVariant
3049            ? this.currentVariant.maxUsableBonus
3050            : this.maxUsableBonus;
3051          const price = Math.floor(bonus / window.liquidHelper.conversionBonus);
3052          const priceWithMoney = window.themeHelper.productDisplayCurrencyBlock(price);
3053          return "(約等於 value )".replace('value', priceWithMoney);
3054        },
3055        isMobileSize: function() {
3056          return window.innerWidth <= 580
3057        },
3058        limitBuyText: function () {
3059          const minCount = this.product.minBuy;
3060          const maxCount = this.product.limitBuy;
3061          if (minCount > 0 && maxCount > 0) {
3062            return '此商品每筆訂單最少需購買 minCount 件,最多可購買 maxCount 件'.replace('minCount', minCount).replace('maxCount', maxCount);
3063          }
3064          if (minCount > 0) {
3065            return '此商品每筆訂單最少需購買 minCount 件'.replace('minCount', minCount);
3066          }
3067          if (maxCount > 0) {
3068            return '此商品每筆訂單最多可購買 maxCount 件'.replace('maxCount', maxCount);
3069          }
3070          return '';
3071        }
3072      },
3073      methods: {
3074        onClickSelectModal: function(objData, selectOptionStr) {
3075          this.isModalSelectShow = true;
3076          this.modalOption = objData;
3077          this.selectOption = selectOptionStr
3078          this.selectCurrentStr = this.currentOption && (String(this.currentOption[selectOptionStr]) || null)
3079        },
3080        onChangeModalSelect: function(flag, isSelect) {
3081          if(!isSelect){
3082            this.setOption(this.selectOption,this.selectCurrentStr,this.modalOption.types)
3083          }
3084          this.isModalSelectShow = flag;
3085        },
3086        setOption: function(optionKey, type, dataArr) {
3087          let flag = true
3088          dataArr.forEach(item => {
3089            if (item.name === type) {
3090              flag = item.isValid
3091            }
3092          })
3093          if (flag) {
3094            this.toggleCurrentOption(optionKey, type)
3095          }
3096        },
3097        addToWishListEvent: function() {
3098          try {
3099            if (appMarketAddToWishListEvent) {
3100              var product = this.product;
3101              var currentVariant = this.currentVariant
3102              var element = $(`.btn[data-id=${product.id}]`);
3103              var index;
3104              var listName;
3105              if (element) {
3106                index = element.data('position')
3107                listName = element.data('list')
3108              }
3109              // sku_properties:選中款式的 option pairs(當前語系),類型名 zip 值
3110              var optionValues = [currentVariant.option1, currentVariant.option2, currentVariant.option3];
3111              var properties = [];
3112              (product.options || []).forEach(function(optionName, i) {
3113                if (optionName && optionValues[i]) {
3114                  properties.push({ name: optionName, value: optionValues[i] });
3115                }
3116              });
3117              var dataSet = {
3118                name: product.title,
3119                category: product.productType,
3120                categories: (this.categories && this.categories.length) ? this.categories : (categoryLevels.length ? categoryLevels : (product.id === pageMainProductId ? productCategoryLevels : undefined)),
3121                sku: currentVariant.sku,
3122                price: currentVariant.price,
3123                compare_at_price: currentVariant.compareAtPrice,
3124                properties: properties,
3125                quantity: currentVariant.inventoryQuantity,
3126                variant: currentVariant.title,
3127                listName: listName || null,
3128                productId: product.id,
3129                variantId: currentVariant.id,
3130                index: Number(index) || 0,
3131              }
3132              appMarketAddToWishListEvent(dataSet)
3133            }
3134          } catch (e) {
3135            console.error(e)
3136          }
3137        },
3138        addWishList: function() {
3139          if (this.currentVariant === null) {
3140            window.msg('請選擇商品款式', 'warning').show();
3141            return;
3142          }
3143          var productVariantId = this.currentVariant.id;
3144          var addToWishListEvent = this.addToWishListEvent
3145          $.ajax({
3146            method: 'POST',
3147            url: '/tracking_items',
3148            dataType: 'json',
3149            data: {
3150              product_variant_id: productVariantId
3151            },
3152            success: function(response) {
3153              if (response.message) {
3154                window.msg(response.message, 'success').show();
3155                addToWishListEvent()
3156              }
3157
3158              if (response.error) {
3159                window.msg(response.error, 'error').show();
3160
3161              }
3162              if (response.info) {
3163                window.msg(response.info, 'info').show();
3164              }
3165              if (response.success === false) {
3166                if (window.liquidHelper && window.liquidHelper.language && window.liquidHelper.language.handle) {
3167                  window.location = "/" + window.liquidHelper.language.handle + "/account/login";
3168                } else {
3169                  window.location = "/account/login";
3170                }
3171              }
3172            }
3173          });
3174        },
3175        setChoose: function(currentVariant) {
3176          this.maxUsableBonus = 0;
3177          var quantity = 1;
3178          var cartItem = null;
3179          if (!this.isNnCollection && this.cartItems) {
3180            cartItem = this.normalGetChoosenItem(currentVariant);
3181          }
3182          if (this.isNnCollection) {
3183            cartItem = this.nnCollectionGetChoosenItem(currentVariant);
3184          }
3185          this.isChoose = !! cartItem;
3186          if (this.isNewNnCollection) {
3187            return
3188          }
3189          this.quantity = cartItem
3190            ? cartItem.quantity
3191            : this.quantity;
3192
3193          // product modal 聯絡店家情境
3194          if (currentVariant) {
3195            var photoIndex = 0;
3196            if (! currentVariant.imgUrl) {
3197              currentVariant.imgUrl = this.swiperPhotos.length > 0
3198                ? (this.swiperPhotos[photoIndex] && this.swiperPhotos[photoIndex].large)
3199                : this.featuredImage.large;
3200            }
3201            currentVariant.productTitle = this.product.title + ' - ' + this.currentVariant.title;
3202          }
3203        },
3204        normalGetChoosenItem: function(currentVariant) {
3205          return this.cartItems.find(function(cartItem) {
3206            return currentVariant && cartItem.id === currentVariant.id;
3207          });
3208        },
3209        nnCollectionGetChoosenItem: function(currentVariant) {
3210          var isSelected = null;
3211          if (! currentVariant) {
3212            return isSelected;
3213          }
3214          if (this.isNewNnCollection) {
3215            var cart = store.get(`SpecialCollectionCart_${this.collectionId}`);
3216            isSelected = cart && cart.find((item) => item.variant_id == currentVariant.id) || null;
3217          } else {
3218            store.each(function(value, key) {
3219              var productId = _.includes(key, 'Pro' + currentVariant.productId);
3220              var variantID = _.includes(key, 'Var' + currentVariant.id);
3221              if (productId && variantID) {
3222                isSelected = store.get(key);
3223              }
3224            });
3225          }
3226
3227          return isSelected;
3228        },
3229        // get product detail
3230        getProductDetail: function() {
3231          var self = this;
3232
3233          $.ajax({
3234            url: self.productUrl + '.json',
3235            type: 'GET',
3236            timeout: 30000,
3237            beforeSend: function() {
3238              self.isLoading = true;
3239            },
3240            error: function(xhr) {
3241              self.closeModal();
3242              if (xhr.status === 429) {
3243                window.showAddCartRateLimitModal(5);
3244                return;
3245              }
3246              window.msg('網路連線異常,請重新整理', 'error').show();
3247            }
3248          }).done(function(data) {
3249            if (data.id) {
3250              var productData = [themeHelper.toCamelCase(data)];
3251              self.product = themeHelper.priceWithDiscount(productData, liquidHelper.hasPriceWithDiscountPlugin)[0];
3252              self.maxUsableBonus = self.variantsMaxUsableBonus;
3253              if (self.product.variants.length === 1 || liquidHelper.isFirstVariantSelected || self.selectedVariantId) {
3254                self.currentVariant = self.firstValidVariant;
3255                // 如果已經自選商品,則商品頁下滑加入購物車顯示自選商品
3256                if (self.selectedVariantId) {
3257                  self.currentVariant = self.selectedValidVariant;
3258                }
3259                if (self.currentVariant) {
3260                  self.setChoose(self.currentVariant);
3261                  self.setDefaultOption();
3262                }
3263              }
3264              if (self.displayProductDiscountsList) {
3265                self.setUpDiscountsTag(data);
3266              }
3267              self.isLoading = false;
3268              if (self.product && self.product.variants) {
3269                self.product.variants.forEach(function(discountedVariant) {
3270                  var rawVariant = data.variants.find(function(v) { return v.id === discountedVariant.id; });
3271                  if (rawVariant) { rawVariant.price = discountedVariant.price; }
3272                });
3273              }
3274              viewItem && viewItem(data, { collectionId: '', collectionName: null, categories: (self.categories && self.categories.length) ? self.categories : (categoryLevels.length ? categoryLevels : (data.id === pageMainProductId ? productCategoryLevels : undefined)) });
3275
3276              (function() {
3277                // Read login status from cacheable, skip GET /pv_notification if not login.
3278                if (window.store && window.store.get('customer')) {
3279                  var cacheableCustomer = window.store.get('customer');
3280                  if (cacheableCustomer.notLogin) {
3281                    return;
3282                  }
3283                }
3284                $.ajax({
3285                  url: '/pv_notification',
3286                  method: 'GET',
3287                  dataType: 'json',
3288                  data: {
3289                    product_id: parseInt(data.id)
3290                  },
3291                  success: function(response) {
3292                    self.variantNotifications = response.variants;
3293                  }
3294                })
3295              })();
3296            } else {
3297              window.msg('網路連線異常,請重新整理', 'error').show();
3298              self.closeModal()
3299            }
3300          })
3301        },
3302        // product image btn
3303        photoOnChange: function(photoIndex, isVariantReposition) {
3304          var visiblePhotos = (this.currentVariant && this.currentVariant.photos.length)
3305            ? this.currentVariant.photos
3306            : this.product.photos.map(function(p) { return p.photo; });
3307          var result = themeHelper.buildNavigateItemImagePayload(this._navState, {
3308            product: this.product,
3309            currentVariant: this.currentVariant,
3310            visiblePhotos: visiblePhotos,
3311            slideIndex: photoIndex,
3312            videoOffset: this.firstImageIndex,
3313          });
3314          this._navState = result.nextState;
3315          if (result.payload && !isVariantReposition) {
3316            window.navigateItemImage(result.payload);
3317          }
3318          this.currentImageIndex = photoIndex;
3319        },
3320        toggleCurrentOption: function(key, value) {
3321          this.currentOption[key] =
3322            (this.currentOption[key] === value || value === 'null') ? null : value;
3323          var variantIndex = this.getVariantIndex();
3324          if (variantIndex !== -1) {
3325            this.currentVariant = this.product.variants[variantIndex];
3326          } else {
3327            this.currentVariant = null;
3328          }
3329          this.setChoose(this.product.variants[variantIndex]);
3330          if (this.currentOption[key] !== null) {
3331            var optionIndex = parseInt(key.replace('option', '')) - 1;
3332            appStoreSelectItemEvent(this.product, this.product.options[optionIndex], this.currentOption[key], this.currentVariant);
3333          }
3334        },
3335        toggleNotification: function() {
3336          var self = this;
3337          var variantId = this.currentVariant.id;
3338
3339          $.ajax({
3340            url: '/toggle_pv_notification',
3341            method: 'POST',
3342            dataType: 'json',
3343            data: {
3344              product_variant_id: variantId
3345            },
3346            success: function(response) {
3347              self.variantNotifications[variantId] = response.notice;
3348              window.msg(response.message, "success").show();
3349            },
3350            error: function(xhr) {
3351              var response = xhr.responseJSON;
3352              var msg = response && response.error || "網路連線異常,請重新整理";
3353              window.msg(msg, "error").show();
3354            }
3355          })
3356        },
3357        getOptionImageIndex: function(index) {
3358          this.currentImageIndex = index;
3359        },
3360        quantityDecrease: function() {
3361          if (this.cartItem) {
3362            themeHelper.EventBus.$emit('quantityDecrease', this.cartItem, false);
3363            this.quantity = this.cartItem.quantity
3364          } else {
3365            window.msg("請選擇商品款式", 'warning').show();
3366          }
3367        },
3368        quantityIncrease: function() {
3369          if (this.cartItem) {
3370            themeHelper.EventBus.$emit('quantityIncrease', this.cartItem, false);
3371            this.quantity = this.cartItem.quantity
3372          } else {
3373            window.msg("請選擇商品款式", 'warning').show();
3374          }
3375        },
3376        quantityChange: function(el) {
3377          if (this.cartItem) {
3378            themeHelper.EventBus.$emit('quantityChange', parseInt(el.target.value), this.cartItem, false);
3379            this.quantity = this.cartItem.quantity;
3380            el.target.value = this.cartItem.quantity;
3381          } else {
3382            window.msg("請選擇商品款式", 'warning').show();
3383          }
3384        },
3385        addProduct: function() {
3386          if (this.addCartText === '聯絡店家') {
3387            $('#messagebuy-Modal').data('variant', this.currentVariant);
3388            $('#messagebuy-Modal').modal('show');
3389            $('#messagebuy-Modal').css("background-color", "rgba(0, 0, 0, .6)");
3390          } else if (
3391            this.addCartText === '已登記補貨通知' ||
3392            this.addCartText === '已售完,貨到通知我'
3393          ) {
3394              this.toggleNotification();
3395          } else {
3396            if (this.cartItem) {
3397              try {
3398                if (this.isChoose) {
3399                  themeHelper.EventBus.$emit('updateStore', 'update', this.cartItem, this.callBack)
3400                } else {
3401                  themeHelper.EventBus.$emit('updateStore', 'add', this.cartItem, this.callBack)
3402                }
3403
3404                this.adding = true;
3405                this.closeModal();
3406              } catch (e) {
3407                window.msg("商品款式異常", 'error').show();
3408              }
3409            } else {
3410              window.msg("請選擇商品款式", 'warning').show();
3411            }
3412          }
3413        },
3414        closeModal: function() {
3415          themeHelper.EventBus.$emit('closeProductModal');
3416        },
3417        setDefaultOption: function() {
3418          var self = this;
3419          Object.keys(self.currentOption).map(function(optionKey) {
3420            self.currentOption[optionKey] = self.currentVariant[optionKey];
3421          });
3422        },
3423        getVariantIndex: function() {
3424          var self = this;
3425          return self.product.variants.findIndex(function(variant, index) {
3426            var isVariant = true;
3427            Object.keys(self.currentOption).forEach(function(option) {
3428              if (variant[option] !== self.currentOption[option]) {
3429                isVariant = false;
3430              }
3431            });
3432            return isVariant;
3433          });
3434        },
3435
3436        // 篩選重複品項
3437        getUniqueVariant: function(variants) {
3438          return variants.filter(function(value, index, self) {
3439            return self.indexOf(value) === index;
3440          });
3441        },
3442        groupBy(xs, key) {
3443          return xs.reduce(function(rv, x) {
3444            (rv[x[key]] = rv[x[key]] || []).push(x);
3445            return rv;
3446          }, {});
3447        },
3448        setUpDiscountsTag(data) {
3449          var self = this;
3450          var languagePrefix = '/' + ((window.shopScriptHelper && window.shopScriptHelper.i18nLocale) || 'zh-TW');
3451          $.ajax({
3452            url: languagePrefix + self.productUrl + '/discounts_list',
3453            method: 'GET',
3454            success: function(result) {
3455              if (result.length > 0) {
3456                var discounts_list = self.groupBy(result, 'campaign_type');
3457                self.discountsList = discounts_list;
3458              } else {
3459                self.discountsList = null;
3460              }
3461            }
3462          });
3463        },
3464        getOptions: function(optionKey, optionTypes) {
3465          var self = this;
3466          return optionTypes.map(function(optionType, index) {
3467            var isValid = true;
3468
3469            // 選出包含目前type的variant
3470            var matchVariants = self.product.variants.filter(function(variant) {
3471              return variant[optionKey] === optionType;
3472            });
3473
3474            // 篩選已勾選type
3475            Object.keys(self.currentOption).forEach(function(currentOptionKey) {
3476              if (currentOptionKey !== optionKey) {
3477                matchVariants = matchVariants.filter(function(variant) {
3478                  if (self.currentOption[currentOptionKey]) {
3479                    return variant[currentOptionKey] === self.currentOption[currentOptionKey]
3480                  } else {
3481                    return true;
3482                  }
3483                });
3484              }
3485            });
3486            if (matchVariants.length === 0) {
3487              isValid = false;
3488            }
3489            if (! self.isEmptyClickable) {
3490              isValid = false;
3491              matchVariants.find(function(item) {
3492                if (item.inventoryQuantity === null || item.inventoryQuantity > 0 || item.inventoryPolicy === 'continue') {
3493                  isValid = true;
3494                }
3495              });
3496            }
3497            return {name: optionType, isValid: isValid}
3498          });
3499        }
3500      }
3501    };
3502  });
3503</script>
3503
3504
3505<!-- cyb_snippet _product_modal_js end -->
3506
3507<!-- cyb_snippet components/product_modal/product_modal end -->
3508
3509<!-- cyb_snippet messagebuy_modal start -->
3510
3511
3512<!-- cyb_snippet messagebuy_modal end -->
3513<!-- cyb_snippet components/rate_limit_modal start -->
3514<link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/rate_limit_modal-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
3515
3516<div class="modal fade" id="rate-limit-modal" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static" data-keyboard="false">
3517  <div class="modal-dialog modal-dialog-centered" role="document">
3518    <div class="modal-content">
3519      <div class="modal-body">
3520        <div class="qk-text--default_dark rate-limit-text">
3521          <p id="rate-limit-title">目前搶購人潮眾多,請耐心等候</p>
3522          <p class="qk-fs--body qk-fw--500 rate-limit-message">
3523            <span class="qk-text--error" id="rate-limit-countdown"></span>
3524            <span id="rate-limit-desc"></span>
3525          </p>
3526          <p class="qk-fs--body qk-fw--500 rate-limit-message" id="rate-limit-warn">若離開此頁面,可能會延長等待時間。</p>
3527        </div>
3528        <button id="rate-limit-btn" class="btn qk-btn qk-btn--primary" disabled>重新進入商品頁</button>
3529      </div>
3530    </div>
3531  </div>
3532</div>
3533
3534<script>
3535  window.showRateLimitModal = function(countdownSec) {
3536    var countdown = countdownSec || 5;
3537    var $modal = $('#rate-limit-modal');
3538    var $btn = $modal.find('#rate-limit-btn');
3539    var $countdownEl = $modal.find('#rate-limit-countdown');
3540
3541    $btn.show();
3542    $modal.find('#rate-limit-desc').text(language["product_rate_limit_desc"]);
3543    $countdownEl.text(countdown);
3544    $btn.prop('disabled', true);
3545    $modal.modal('show');
3546
3547    var timer = setInterval(function() {
3548      countdown--;
3549      $countdownEl.text(countdown);
3550      if (countdown <= 0) {
3551        clearInterval(timer);
3552        $btn.prop('disabled', false);
3553      }
3554    }, 1000);
3555
3556    $btn.off('click').on('click', function() {
3557      location.reload();
3558    });
3559  }
3560
3561  window.showAddCartRateLimitModal = function(countdownSec) {
3562    var countdown = countdownSec || 5;
3563    var $modal = $('#rate-limit-modal');
3564    var $countdownEl = $modal.find('#rate-limit-countdown');
3565
3566    $modal.find('#rate-limit-btn').hide();
3567    $modal.find('#rate-limit-desc').text(language["addcart_rate_limit_desc"]);
3568    $countdownEl.text(countdown);
3569    $modal.modal('show');
3570
3571    var timer = setInterval(function() {
3572      countdown--;
3573      $countdownEl.text(countdown);
3574      if (countdown <= 0) {
3575        clearInterval(timer);
3576        $modal.modal('hide');
3577      }
3578    }, 1000);
3579  }
3580</script>
3580
3581
3582<!-- cyb_snippet components/rate_limit_modal end -->
3583
3584<script>
3585  $(document).ready(function() {
3586    const shouldSkipQuantityCheck = false;
3587    const newAddCartModalApp = new window.themeHelper.LiquidVueHandler({
3588      componentNames: Object.keys(window.themeHelper.productModalComponents),
3589      mountSelector: '#new-addcart-modal',
3590      autoMount: false,
3591    });
3592
3593    newAddCartModalApp.createApp({
3594      el: '#new-addcart-modal',
3595      delimiters: ['${', '}'],
3596      data() {
3597        return {
3598          collectionId: 0,
3599          categories: [],
3600          color: '', // unused
3601          isCollection: true,
3602          productQuantity: 0,
3603          onlyDescription: false,
3604          showProductModal: false,
3605          popProductUrl: '',
3606          loading: false,
3607        };
3608      },
3609      mounted: function() {
3610        themeHelper.EventBus.$on('closeProductModal',this.closeProductModal);
3611        themeHelper.EventBus.$on('updateStore', this.addProduct);
3612        themeHelper.EventBus.$on('quantityDecrease', this.quantityDecrease);
3613        themeHelper.EventBus.$on('quantityIncrease', this.quantityIncrease);
3614        themeHelper.EventBus.$on('quantityChange', this.quantityChange);
3615      },
3616      methods: {
3617        addProduct: function(actionType, productData, checkoutAddToCartCallback){
3618          var self = this;
3619          var pageViewId = window.CYBERBIZ && window.CYBERBIZ.dis && window.CYBERBIZ.dis.pageViewId;
3620          $.ajax({
3621            method: 'POST',
3622            url: '/cart/add',
3623            headers: pageViewId ? { 'X-Cyb-Page-View-Id': pageViewId } : {},
3624            data: {
3625              id: productData.id,
3626              quantity: productData.quantity,
3627            },
3628            dataType: 'json',
3629            beforeSend: function() {
3630              self.loading = true;
3631              themeHelper.ajaxLoadingMsg('loading');
3632              $('.shopcart').dropdown('hide')
3633              $('.global-cart-count').hide();
3634              $('.global-cart-loading').show();
3635              $('.global-cart-loading').html('<i class="fa fa-spinner fa-pulse" style="vertical-align: middle;"></i>');
3636            },
3637            error: function(xhr) {
3638              $('.global-cart-loading').hide();
3639              $('.global-cart-count').show();
3640              self.loading = false;
3641              if (xhr.status === 429) {
3642                themeHelper.ajaxLoadingMsg('hide', 0);
3643                self.closeProductModal();
3644                window.showAddCartRateLimitModal(5);
3645                return;
3646              }
3647              themeHelper.ajaxLoadingMsg('fail', 2000);
3648            }
3649          }).done(function(data, status, request){
3650            // product modal 立即購買按鈕
3651            window.sendAddToCartEvent && sendAddToCartEvent({
3652              price: productData.price,
3653              quantity: productData.quantity,
3654              id: productData.product.id,
3655              name: productData.product.title,
3656              category: productData.product.productType,
3657              brand: productData.product.vendor,
3658              qc: productData.variant.qc,
3659              variant: {
3660                id: productData.variant.id,
3661                title: productData.variant.title,
3662                sku: productData.variant.sku,
3663                price: productData.variant.price,
3664                qc: productData.variant.qc,
3665              },
3666              position: "商品彈出視窗",
3667              request,
3668            })
3669            if (self.isQuickBuy) {
3670              if (window.liquidHelper && window.liquidHelper.language && window.liquidHelper.language.handle) {
3671                window.location = "/" + window.liquidHelper.language.handle + "/cart";
3672              } else {
3673                window.location = "/cart";
3674              }
3675            } else {
3676              themeHelper.ajaxLoadingMsg('success');
3677              pullNavCart();
3678              $('.shopcart').dropdown('show')
3679              $('.global-cart-loading').hide();
3680              self.loading = false;
3681            }
3682            if(typeof checkoutAddToCartCallback === 'function'){
3683              var callbackData = {
3684                id: productData.id,
3685                quantity: productData.quantity,
3686                title: productData.product ? productData.product.title : productData.title || ''
3687              };
3688              checkoutAddToCartCallback(callbackData)
3689            }
3690            peh.emit('product:add_to_cart', [{
3691              variantId: productData.id,
3692              quantity: productData.quantity
3693            }], self.collectionId);
3694          }).fail(function(e){
3695            if (e.status === 429) {
3696              return;
3697            }
3698            let err_msg = e.responseJSON.err_msg;
3699            err_msg && err_msg.length > 0 ?
3700              window.msg(e.responseJSON.err_msg, 'warning').show():
3701              window.msg("加入購物車有誤,請重新嘗試", 'warning').show();
3702          })
3703        },
3704        quantityDecrease: function(cartItem, isAdded){
3705          if (cartItem.quantity > 1) {
3706            cartItem.quantity -= 1;
3707          } else {
3708            window.msg("數量不得為低於 1", 'warning').show();
3709          }
3710        },
3711        quantityIncrease: function(cartItem, isAdded){
3712          const limitQuantity = cartItem.variant.inventoryQuantity;
3713          const limitBuy = cartItem.product.limitBuy
3714          if (limitBuy && cartItem.quantity >= limitBuy) {
3715            product_limit_buy = "此商品限購 limitBuy 件".replace('limitBuy', limitBuy)
3716            window.msg(product_limit_buy, 'warning').show();
3717            return;
3718          } else if (cartItem.quantity >= liquidHelper.cartQuantityLimit) {
3719            window.msg("數量超過購買上限", 'warning').show();
3720          } else if ( cartItem.quantity < limitQuantity || limitQuantity === null ||
3721            cartItem.variant.inventoryPolicy == "continue" || shouldSkipQuantityCheck) {
3722            cartItem.quantity += 1;
3723          } else {
3724            this.showInventoryMessage(limitQuantity);
3725          }
3726        },
3727        quantityChange: function(quantity, cartItem, isAdded){
3728          const limitBuy = cartItem.product.limitBuy
3729          var limitQuantity = cartItem.variant.inventoryQuantity;
3730          var inventoryPolicy = cartItem.variant.inventoryPolicy;
3731          if (Number.isInteger(quantity)) {
3732            if (quantity >= 1) {
3733              if (limitBuy && quantity >= limitBuy) {
3734                product_limit_buy = "此商品限購 limitBuy 件".replace('limitBuy', limitBuy)
3735                window.msg(product_limit_buy, 'warning').show();
3736              } else if (quantity > liquidHelper.cartQuantityLimit) {
3737                window.msg("數量超過購買上限", 'warning').show();
3738              } else if (quantity <= limitQuantity || limitQuantity === null || inventoryPolicy == "continue" || shouldSkipQuantityCheck) {
3739                cartItem.quantity = quantity;
3740              } else {
3741                cartItem.quantity = limitQuantity;
3742                this.showInventoryMessage(limitQuantity);
3743              }
3744            } else {
3745              window.msg("數量不得為低於 1", 'warning').show();
3746            }
3747          } else {
3748            window.msg("數量輸入錯誤", 'warning').show();
3749          }
3750        },
3751        popModal: function(productUrl, collectionId, color, isCollection, isShowDescription, isQuickBuy, variantId, checkoutAddToCartCallback, categories){
3752          this.showProductModal = true;
3753          this.collectionId = collectionId;
3754          this.categories = categories || [];
3755          this.popProductUrl = productUrl;
3756          this.color = color || ''; // unused
3757          this.isCollection = isCollection || false;
3758          this.isShowDescription = isShowDescription != false;
3759          this.isQuickBuy = isQuickBuy || false;
3760          this.selectedVariantId = parseInt(variantId) || undefined;
3761          this.checkoutAddToCartCallback = checkoutAddToCartCallback;
3762          document.body.style.overflow = "hidden";
3763        },
3764        closeProductModal: function() {
3765          this.showProductModal = false;
3766          document.body.style.overflow = "";
3767        },
3768        showInventoryMessage: function(inventoryQuantity) {
3769          const stockMessage = "商品庫存剩餘 count 件".replace('count', inventoryQuantity || 0);
3770          window.msg(stockMessage, 'warning').show();
3771        },
3772      }
3773    });
3774
3775    for (const componentName in window.themeHelper.productModalComponents) {
3776      newAddCartModalApp.component(
3777        componentName,
3778        window.themeHelper.productModalComponents[componentName],
3779      );
3780    }
3781
3782    window.new_addcart_modal = newAddCartModalApp.mount();
3783  });
3784</script>
3784
3785
3786<!-- cyb_snippet new_addcart_modal end -->
3787    
3787<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/new_cart-4a1e7dfec7e41476.js' type='text/javascript'></script>
3787
3788  
3789</div>
3790
3791    </div>
3792
3793    <!-- Footer -->
3794    
3795
3796
3797
3798
3799
3800
3801<style>
3802  
3803  
3804  @media(min-width: 991px) {
3805    .display_x .left-content > div {
3806      max-width: calc(100% / 3);
3807    }
3808  }
3809</style>
3810
3811<div id="index-recommendation"></div>
3812
3813<footer id="footer" class="qk-fs--body qk-bg--footer_bg">
3814  
3815    
3816    <div class="qk-container display_x">
3817      <div class="footer_content qk-mg--0 qk-display--flex qk-justify--between">
3818        <div class="left-content qk-flex--1">
3819          
3820            
3821              <div class="link-list-container">
3822                
3823                  <p class="footer_title qk-fs--title qk-text--footer_text">阿玉蔴粩專賣店</p>
3824                
3825                <div class="item horizontal qk-text--left">
3826                  <ul class="qk-display--flex qk-flex--wrap">
3827                    
3828                      
3829                        <li class="qk-display--il_bk">
3830                          
3831                            <a
3832                              class="qk-text--footer_text"
3833                              href="/pages/關於阿玉-20230914160358"
3834                              rel="noopener noreferrer"
3835                              target="_blank">關於我們</a>
3836                          
3837                        </li>
3838                      
3839                        <li class="qk-display--il_bk">
3840                          
3841                            <a
3842                              class="qk-text--footer_text"
3843                              href="/pages/about-us"
3844                              rel="noopener noreferrer"
3845                              target="_blank">交通資訊</a>
3846                          
3847                        </li>
3848                      
3849                        <li class="qk-display--il_bk">
3850                          
3851                            <a
3852                              class="qk-text--footer_text"
3853                              href="/pages/q&a"
3854                              rel="noopener noreferrer"
3855                              target="_blank">Q&A</a>
3856                          
3857                        </li>
3858                      
3859                        <li class="qk-display--il_bk">
3860                          
3861                            <a
3862                              class="qk-text--footer_text"
3863                              href="/blogs/媒體報導"
3864                              rel="noopener noreferrer"
3865                              target="_blank">媒體報導</a>
3866                          
3867                        </li>
3868                      
3869                        <li class="qk-display--il_bk">
3870                          
3871                            <a
3872                              class="qk-text--footer_text"
3873                              href="/blogs/製作流程"
3874                              rel="noopener noreferrer"
3875                              target="_blank">製作流程</a>
3876                          
3877                        </li>
3878                      
3879                        <li class="qk-display--il_bk">
3880                          
3881                            <a
3882                              class="qk-text--footer_text"
3883                              href="/blogs/news"
3884                              rel="noopener noreferrer"
3885                              target="_blank">最新消息</a>
3886                          
3887                        </li>
3888                      
3889                        <li class="qk-display--il_bk">
3890                          
3891                            <a
3892                              class="qk-text--footer_text"
3893                              href="/pages/privacy"
3894                              rel="noopener noreferrer"
3895                              target="_blank">隱私政策</a>
3896                          
3897                        </li>
3898                      
3899                        <li class="qk-display--il_bk">
3900                          
3901                            <a
3902                              class="qk-text--footer_text"
3903                              href="https://drive.google.com/file/d/1fQTOqI428RYM0eI3Z-JfIaWMV9y7bg8z/view?usp=sharing"
3904                              rel="noopener noreferrer"
3905                              target="_blank">訂購單下載</a>
3906                          
3907                        </li>
3908                      
3909                    
3910                  </ul>
3911                </div>
3912              </div>
3913              
3914          
3915            
3916              <div class="link-list-container">
3917                
3918                  <p class="footer_title qk-fs--title qk-text--footer_text"></p>
3919                
3920                <div class="item horizontal qk-text--left">
3921                  <ul class="qk-display--flex qk-flex--wrap">
3922                    
3923                      
3924                        <li class="qk-display--il_bk">
3925                          
3926                            <a
3927                              class="qk-text--footer_text"
3928                              href="/collections/蔴粩類"
3929                              rel="noopener noreferrer"
3930                              target="_blank">蔴粩類</a>
3931                          
3932                        </li>
3933                      
3934                        <li class="qk-display--il_bk">
3935                          
3936                            <a
3937                              class="qk-text--footer_text"
3938                              href="/collections/海洋風味蔴粩"
3939                              rel="noopener noreferrer"
3940                              target="_blank">海洋風味蔴粩</a>
3941                          
3942                        </li>
3943                      
3944                        <li class="qk-display--il_bk">
3945                          
3946                            <a
3947                              class="qk-text--footer_text"
3948                              href="/collections/酥片類"
3949                              rel="noopener noreferrer"
3950                              target="_blank">酥片類</a>
3951                          
3952                        </li>
3953                      
3954                        <li class="qk-display--il_bk">
3955                          
3956                            <a
3957                              class="qk-text--footer_text"
3958                              href="/collections/麻花捲類"
3959                              rel="noopener noreferrer"
3960                              target="_blank">麻花類</a>
3961                          
3962                        </li>
3963                      
3964                        <li class="qk-display--il_bk">
3965                          
3966                            <a
3967                              class="qk-text--footer_text"
3968                              href="/collections/禮盒"
3969                              rel="noopener noreferrer"
3970                              target="_blank">禮盒</a>
3971                          
3972                        </li>
3973                      
3974                    
3975                  </ul>
3976                </div>
3977              </div>
3978              
3979          
3980            
3981              <div id="1686116321657_2" class="rich-text-editor-container qk-text--footer_text item qk-flex--1">
3982                
3983                  <p class="footer_title qk-fs--title rich-text-editor-title">聯絡資訊</p>
3984                
3985                <div class="rich-text-content-container">
3986                  <p>訂購專線 :02-2408-1889、02-2498-1189</p>
3987<p>傳真 :02-2498-7588</p>
3988<p>ä¿¡ç®± :[email protected]</p>
3989<p></p>
3990<p>金山老街阿玉蔴粩(總店)<br>地址:台灣新北市金山區金包里街65號</p>
3991<p>營業時間</p>
3992<p>平日09:00 - 18:00</p>
3993<p>假日09:00 - 20:00</p>
3994<p></p>
3995<p>金山老街阿玉蔴粩(中山店)</p>
3996<p>地址:新北市金山區中山路110號</p>
3997<p>營業時間</p>
3998<p>09:00 - 21:00</p>
3999
4000                </div>
4001              </div>
4002            
4003          
4004        </div>
4005        <div class="right-content qk-display--flex qk-flex--column">
4006          
4007          <div class="media qk-display--il">
4008            <div class="item social_media qk-h--auto qk-float--l">
4009              <ul>
4010                
4011                  <li class="qk-display--il_bk">
4012                    <a target="_blank" rel="noopener noreferrer" href="https://www.facebook.com/ayufoods/?locale=zh_TW">
4013                      <svg
4014                        class="facebook-svg"
4015                        xmlns="http://www.w3.org/2000/svg"
4016                        width="40"
4017                        height="40"
4018                        viewBox="0 0 40 40">
4019                        <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" />
4020                      </svg>
4021                    </a>
4022                  </li>
4023                
4024                
4025                
4026                
4027              </ul>
4028            </div>
4029          </div>
4030        </div>
4031      </div>
4032    </div>
4033    
4034  <div class="copyright qk-text--footer_text qk-bd--footer_text qk-text--left qk-bd_t--default">
4035    <div class="qk-container container qk-fw--500">
4036      <span>Copyright ©</span>
4037      <a class="qk-text--link" href="/">
4038        <span>ayufoods</span>
4039      </a>
4040      <span>All Rights Reserved.</span>
4041      <span>Designed by
4042      </span>
4043      <a
4044        class="qk-text--link"
4045        href="https://www.cyberbiz.io?utm_source=poweredbycyberbiz"
4046        target="_blank"
4047        rel="noopener noreferrer"
4048        title="Designed by CYBERBIZ">CYBERBIZ</a>.
4049    </div>
4050  </div>
4051  
4052</footer>
4053<script>
4054  $(document).ready(function() {
4055    let isDynamicLoading = false;
4056
4057    let menusData = {
4058      
4059        
4060          "頁腳主選單_1": {
4061            
4062              "type": "items",
4063              "data": [
4064                
4065                
4066                  
4067                    {
4068                      "title": "關於我們",
4069                      "url": "/pages/關於阿玉-20230914160358",
4070                      "item_type": "page"
4071                    },
4072                  
4073                    {
4074                      "title": "交通資訊",
4075                      "url": "/pages/about-us",
4076                      "item_type": "page"
4077                    },
4078                  
4079                    {
4080                      "title": "Q&A",
4081                      "url": "/pages/q&a",
4082                      "item_type": "page"
4083                    },
4084                  
4085                    {
4086                      "title": "媒體報導",
4087                      "url": "/blogs/媒體報導",
4088                      "item_type": "blog"
4089                    },
4090                  
4091                    {
4092                      "title": "製作流程",
4093                      "url": "/blogs/製作流程",
4094                      "item_type": "blog"
4095                    },
4096                  
4097                    {
4098                      "title": "最新消息",
4099                      "url": "/blogs/news",
4100                      "item_type": "blog"
4101                    },
4102                  
4103                    {
4104                      "title": "隱私政策",
4105                      "url": "/pages/privacy",
4106                      "item_type": "page"
4107                    },
4108                  
4109                    {
4110                      "title": "訂購單下載",
4111                      "url": "https://drive.google.com/file/d/1fQTOqI428RYM0eI3Z-JfIaWMV9y7bg8z/view?usp=sharing",
4112                      "item_type": "http"
4113                    }
4114                  
4115                
4116              ]
4117            
4118          },
4119        
4120      
4121        
4122          "頁腳主選單_2": {
4123            
4124              "type": "items",
4125              "data": [
4126                
4127                
4128                  
4129                    {
4130                      "title": "蔴粩類",
4131                      "url": "/collections/蔴粩類",
4132                      "item_type": "custom_collection"
4133                    },
4134                  
4135                    {
4136                      "title": "海洋風味蔴粩",
4137                      "url": "/collections/海洋風味蔴粩",
4138                      "item_type": "custom_collection"
4139                    },
4140                  
4141                    {
4142                      "title": "酥片類",
4143                      "url": "/collections/酥片類",
4144                      "item_type": "custom_collection"
4145                    },
4146                  
4147                    {
4148                      "title": "麻花類",
4149                      "url": "/collections/麻花捲類",
4150                      "item_type": "custom_collection"
4151                    },
4152                  
4153                    {
4154                      "title": "禮盒",
4155                      "url": "/collections/禮盒",
4156                      "item_type": "custom_collection"
4157                    }
4158                  
4159                
4160              ]
4161            
4162          },
4163        
4164      
4165        
4166      
4167    };
4168
4169    if (isDynamicLoading) {
4170      window.DynamicLoading.setupComponent({
4171          sectionId: '#footer',
4172          callbackData:{
4173            section: {"type":"footer","visible":true,"settings":{"footer_link":"footer","display_facebook":true,"shop_facebook":"https://www.facebook.com/ayufoods/?locale=zh_TW","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"},"block_order":["default_link_list","1686193641937_0","default_contact_info","1686116321657_2"],"blocks":{"default_link_list":{"type":"link_list_setting","custom_name":"選單","thumbnail":"list","draggable":true,"visible":true,"settings":{"dict_link_list_block_title":"阿玉蔴粩專賣店","footer_link":"頁腳主選單_1"}},"default_contact_info":{"type":"contact_info_setting","custom_name":"聯絡資訊","thumbnail":"contactInfo","draggable":true,"visible":false,"settings":{"dict_contact_info_block_t
4173itle":"聯絡資訊","display_phone":"true","dict_phone_number":"0912345678","display_fax_number":"true","dict_shop_fax_number":"0222345678","display_shop_email":"true","dict_shop_email":"[email protected]","display_shop_address":"true","dict_shop_address":"測試地址","display_office_time":"true","dict_shop_office_time":"10:00-17:00"}},"1686116321657_2":{"type":"rich_text_editor_setting","custom_name":"自訂文字","visible":true,"settings":{"dict_rich_text_title":"聯絡資訊","dict_rich_text_content":"\u003cp\u003e訂購專線 :02-2408-1889、02-2498-1189\u003c/p\u003e\n\u003cp\u003e傳真 :02-2498-7588\u003c/p\u003e\n\u003cp\u003eä¿¡ç®± :[email protected]\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\n\u003cp\u003e金山老街阿玉蔴粩(總店)\u003cbr\u003e地址:台灣新北市金山區金包里街65號\u003c/p\u003e\n\u003cp\u003e營業時間\u003c/p\u003e\n\u003cp\u003e平日09:00 - 18:00\u003c/p\u003e\n\u003cp\u003e假日09:00 - 20:00\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\n\u003cp\u003e金山老街阿玉蔴粩(中山店)\u003c/p\u003e\n\u003cp\u003e地址:新北市金山區中山路110號\u003c/p\u003e\n\u003cp\u003e營業時間\u003c/p\u003e\n\u003cp\u003e09:00 - 21:00\u003c/p\u003e\n"}},"1686193641937_0":{"type":"link_list_setting","custom_name":"選單","visible":true,"settings":{"dict_link_list_block_title":"","footer_link":"頁腳主選單_2"}}},"custom_name":"頁腳"},
4174            shop: {
4175              name: 'ayufoods',
4176              cyberbiz_link: 'https://www.cyberbiz.io?utm_source=poweredbycyberbiz',
4177              facebook_fan_page: '',
4178            },
4179            menus: menusData,
4180            is_display_facebook_fan_block: false
4181            },
4182          entryName:'renderFooterSection',
4183          source:'//cdn1-next.cybassets.com/frontend/shop/footerSection-4a1e7dfec7e41476.js',
4184        });
4185    }
4186  });
4187</script>
4187
4188
4189<!-- cyb_snippet _tracking_code start -->
4190      
4190<script>
4191        window.fbAsyncInit = function() {
4192          FB.init({
4193          appId : '',
4194          xfbml : true,
4195          version : 'v24.0',
4196          });
4197        };
4198        (function(d, s, id){
4199          var js, fjs = d.getElementsByTagName(s)[0];
4200          if (d.getElementById(id)) {return;}
4201          js = d.createElement(s);
4202          js.id = id;
4203          js.src = 'https://connect.facebook.net/zh_TW/sdk.js';
4204          fjs.parentNode.insertBefore(js, fjs);
4205        }(document, 'script', 'facebook-jssdk'));
4206      </script>
4206
4207
4208
4209<script>
4210  // for scupio
4211  if (document.querySelector("meta[name=\"scupio_mid\"]")) {
4212    mid = document.querySelector("meta[name=\"scupio_mid\"]").content;
4213  } else {
4214    mid = "";
4215  }
4216  if (!window.is_scupio_sent && mid) {
4217    window._bwtm = window._bwtm || []
4218    window._bwtm.push({
4219      "mid": mid,
4220      "uid": ""
4221    });
4222  }
4223</script>
4223
4224
4225<!-- cyb_snippet _tracking_code end -->
4226
4227<script>
4228  $(document).ready(function(){
4229    if(window.location.pathname != '' && window.location.pathname != '/' ){
4230      document.getElementById('index-recommendation').style.display = 'none'
4231    }
4232  });
4233</script>
4233
4234
4235
4236
4237    <!-- Fast-Events -->
4238    <!-- cyb_snippet fast_events start -->
4239
4240
4241<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/fast_events-4a1e7dfec7e41476.js' type='text/javascript'></script>
4241
4242<link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/fast_events-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
4243
4244<!-- cyb_snippet fast_events end -->
4245
4246    <div class="bottom-right qk-pos--fixed">
4247      <!-- gototop -->
4248      <div id="gototop" class="qk-display--none qk-text--center">
4249        <a href="javascript:void(0)" class="qk-circle qk-circle--lg qk-pos--relative qk-text--center">
4250          <i class="fas fa-chevron-up"></i>
4251        </a>
4252      </div>
4253
4254      <!-- popup -->
4255      
4256
4257
4258
4259<div id="popup-wrapper" class="qk-display--none"></div>
4260
4261<template id="popup-template">
4262  <div
4263    :class="status"
4264    v-if="hasContent"
4265    id="popup-section"
4266  >
4267    <transition name="backdrop">
4268      <div
4269        v-if="shouldShowPopup"
4270        @click.capture="minifyPopup"
4271        id="popup-backdrop"
4272        class="qk-w--100vw qk-h--100vh qk-pos--fixed qk-t--0 qk-l--0 qk-tst"
4273      >
4274      </div>
4275    </transition>
4276    <transition name="onShow">
4277      <div
4278        @click.self="showPopup"
4279        @transitionstart="updateGameStatus('start', this)"
4280        @transitionend="updateGameStatus('end', this)"
4281        class="popup-content qk-display--flex qk-align--center qk-tst qk-tst_dur--30 qk-tst_timing--ease_o"
4282      >
4283        <div
4284          v-for="block in blocks"
4285          :key="block.id"
4286          :class="[block.type, minifiedBlockClasses, block.settings.icon_size]"
4287          class="block qk-tst qk-tst_dur--30 qk-tst_timing--ease_o qk-of--auto"
4288        >
4289          <div v-if="block.type === 'image'" class="qk-pos--rel">
4290            <img
4291              v-show="!shouldShowPopup"
4292              :src="block.settings.dict_icon_image_url"
4293              class="qk-tst qk-tst_dur--30 qk-tst_timing--ease_o"
4294              alt="popup button"
4295            >
4296            <a
4297              v-show="shouldShowPopup"
4298              :href="block.settings.dict_link"
4299              :target="block.settings.target"
4300              :rel="block.settings.rel"
4301              class="qk-display--flex qk-align--center"
4302              @click="linkClicked"
4303            >
4304              <picture>
4305                <source :srcset="block.settings.dict_mobile_image_url" media="(max-width: 576px)">
4306                <source :srcset="block.settings.dict_tablet_image_url" media="(max-width: 992px)">
4307                <img
4308                  :src="block.settings.dict_image_url"
4309                  class="qk-tst qk-tst_dur--30 qk-tst_timing--ease_o"
4310                  alt="popup picture"
4311                />
4312              </picture>
4313            </a>
4314          </div>
4315          <div v-if="block.type === 'video'">
4316            <iframe
4317              :src="block.settings.dict_video_link"
4318              frameborder="0"
4319              class="qk-center--y qk-w--100 qk-h--100"
4320            ></iframe>
4321          </div>
4322          <div v-if="block.type === 'game'">
4323            <div v-show="gameStatus === 'show'" :class="{ 'show-game': gameStatus === 'show' }">
4324              <iframe
4325                class="cb-game-iframe iframe-loading"
4326                :src="getGameIframeSrc(block)"
4327                style="border: none;"
4328              >
4329                Loading
4330              </iframe>
4331            </div>
4332            <div v-show="gameStatus === 'minified'">
4333              <img
4334                src="//cdn1-next.cybassets.com/game_assets/game_minified_new.png"
4335                class="qk-h--100 qk-w--100"
4336                alt="game minified icon"
4337              />
4338            </div>
4339          </div>
4340          <div
4341            v-if="block.type === 'carousel'"
4342            :id="`popup-carousel-${block.id}`"
4343          >
4344          </div>
4345        </div>
4346      </div>
4347    </transition>
4348    <transition name="backdrop">
4349      <div
4350        v-if="shouldShowPopup"
4351        @click.capture="minifyPopup"
4352        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"
4353      >
4354      </div>
4355    </transition>
4356  </div>
4357</template>
4358
4359<script>
4360  $(document).ready(function() {
4361    const CDN_HOST = '//cdn1-next.cybassets.com';
4362    const section = {"type":"popup","visible":true,"blocks":{"popup_block_1":{"type":"image","visible":false,"settings":{"dict_image_url":"/theme_src/i18n_shoestore/default_img/popup_default.jpg","icon_size":"small"},"custom_name":"圖片"}},"block_order":["popup_block_1"],"settings":{},"custom_name":"彈窗廣告"};
4363    var popupSection = Vue.createApp({
4364      template: '#popup-template',
4365      delimiters: ['${', '}'],
4366      data() {
4367        const isOmniauthPage = ['omniauth_terms_agreement', 'omniauth_mobile/']
4368          .some(path => location.pathname.includes(path));
4369        return {
4370          status: 'minified',
4371          gameStatus: 'show',
4372          blocks: isOmniauthPage
4373            ? []
4374            : section.block_order && section.block_order.reduce(
4375                function(acc, blockId) {
4376                  const block = section.blocks[blockId];
4377                  if (block && block.visible) {
4378                    acc.push({
4379                      ...block,
4380                      id: blockId,
4381                    });
4382                  }
4383                  return acc;
4384                },
4385                [],
4386              ),
4387          hasAddedGameScript: false,
4388        };
4389      },
4390      computed: {
4391        hasContent: function() {
4392          return !!(this.blocks && this.blocks.length > 0);
4393        },
4394        minifiedBlockClasses: function() {
4395          return this.status === 'minified' ? 'qk-pointer--none qk-unselectable' : '';
4396        },
4397        shouldShowPopup: function() {
4398          return this.status === 'show';
4399        }
4400      },
4401      methods: {
4402        unhidePopup: function(storedStatus) {
4403          this.status = storedStatus;
4404          $('#popup-wrapper').removeClass('qk-display--none');
4405        },
4406        showPopup: function() {
4407          if (this.status !== 'show') {
4408            this.status = 'show';
4409            this.saveStatus(this.status);
4410          }
4411        },
4412        minifyPopup: function() {
4413          this.status = 'minified';
4414          this.saveStatus('minified');
4415        },
4416        loadStatus: function() {
4417          return JSON.parse(localStorage.getItem('popupStatus'));
4418        },
4419        saveStatus: function(status) {
4420          if (status) {
4421            localStorage.setItem('popupStatus', JSON.stringify({
4422              status: status,
4423              setTime: new Date().getTime(),
4424            }));
4425          }
4426        },
4427        linkClicked: function() {
4428          this.saveStatus('minified');
4429        },
4430        parseVideoLink: function(settings) {
4431          settings.dict_video_link = themeHelper.parseYtUrl(settings.dict_video_link);
4432        },
4433        setupImageSrc: function (settings) {
4434          settings.dict_image_url = this.addCdnHost(settings.dict_image_url);
4435          if (settings.dict_tablet_image_url) {
4436            settings.dict_tablet_image_url = this.addCdnHost(settings.dict_tablet_image_url);
4437          }
4438          if (settings.dict_mobile_image_url) {
4439            settings.dict_mobile_image_url = this.addCdnHost(settings.dict_mobile_image_url);
4440          }
4441          settings.dict_icon_image_url = this.addCdnHost(settings.dict_icon_image_url) || settings.dict_image_url;
4442        },
4443        addCdnHost: function(url) {
4444          if (!url) {
4445            return url; // only add cdn host if url is not empty
4446          }
4447
4448          try {
4449            new URL(url);
4450            return url; // already a valid url, cdn host not needed
4451          } catch {
4452            return `${CDN_HOST}${url}`;
4453          }
4454        },
4455        initStatus: function() {
4456          let newStatus = 'show';
4457          const popupStatus = this.loadStatus();
4458          const currentTime = new Date().getTime();
4459          const oneDay = 1000 * 60 * 60 * 24;
4460          const hasStoredStatus = popupStatus && currentTime - popupStatus.setTime < oneDay;
4461          const redirectedByGameLogin = !this.hasRedirectUrl() && this.redirectedByGameLogin();
4462          const isLoggingIn = this.isLoggingIn();
4463          const isCartPage = window.location.pathname.split('/').includes('carts');
4464
4465          if (hasStoredStatus && !redirectedByGameLogin) {
4466            newStatus = popupStatus.status;
4467          }
4468
4469          if (isLoggingIn) {
4470            newStatus = 'minified';
4471          } else {
4472            localStorage.removeItem('redirectedByPopup');
4473          }
4474
4475          setTimeout(() => {
4476            this.status = newStatus;
4477            this.gameStatus = newStatus;
4478            this.saveStatus(newStatus);
4479            if(!isCartPage){
4480              this.unhidePopup(newStatus);
4481            }
4482          }, 1000);
4483        },
4484        initBlocks: function() {
4485          if (this.hasContent) {
4486            this.blocks.forEach(block => {
4487              switch(block.type) {
4488                case 'image':
4489                  this.setupImageSrc(block.settings);
4490
4491                  const isOpenInNewTab = block.settings.link_open_in_new_tab;
4492                  if (isOpenInNewTab) {
4493                    block.settings.target = '_blank';
4494                    block.settings.rel = 'noopener noreferrer';
4495                  }
4496
4497                  break;
4498                case 'video':
4499                  this.parseVideoLink(block.settings);
4500                  break;
4501              }
4502            })
4503          }
4504        },
4505        getGameIframeSrc: function (block) {
4506          return `/games/${block.settings.dict_game_handle}`
4507        },
4508        updateGameStatus: function(type, element) {
4509          if (
4510            (type === 'start' && this.status === 'minified')
4511            || (type === 'end' && this.status === 'show')
4512          ) {
4513            this.gameStatus = this.status;
4514          }
4515        },
4516        setupGameRedirects: function() {
4517          window.addEventListener('pagehide', () => {
4518            const isGameActive = document.body.getElementsByClassName('show-game').length;
4519            if (isGameActive) {
4520              localStorage.setItem('redirectedByPopup', 'true');
4521              this.saveStatus('minified');
4522            }
4523          });
4524        },
4525        hasRedirectUrl: function() {
4526          return (new URLSearchParams(location.search)).has('redirect_url');
4527        },
4528        redirectedByGameLogin: function() {
4529          return localStorage.getItem('redirectedByPopup');
4530        },
4531        isLoggingIn: function() {
4532          const loginRelatedPathnames = [
4533            'account/signup',
4534            'account/login',
4535            'account/customer/password/new',
4536            'pages/terms'
4537          ];
4538          return loginRelatedPathnames.some(path => location.pathname.includes(path));
4539        }
4540      },
4541      created: function() {
4542        this.initStatus();
4543        this.initBlocks();
4544        this.setupGameRedirects();
4545      },
4546      mounted: function() {
4547        this.blocks.forEach((block) => {
4548          if (block.type === 'carousel' && block.settings.dict_c
4548arousel) {
4549            renderCarousel(`#popup-carousel-${block.id}`, {
4550              title: block.settings.dict_carousel,
4551              CDN_HOST,
4552              onLinkClick: () => this.linkClicked(),
4553            });
4554          }
4555        });
4556      },
4557    });
4558    popupSection.mount('#popup-wrapper');
4559  });
4560</script>
4560
4561
4562
4563
4564    </div>
4565
4566    <!-- ajaxloading -->
4567    <div id="ajaxloading" class="qk-display--none qk-h--100vh qk-w--100vw qk-l--0 qk-t--0 qk-pos--fixed">
4568      <div class="ajaxbody qk-pos--abs qk-l--50 qk-t--50 qk-text--center">
4569        <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">
4570          <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"/>
4571          <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 "/>
4572          <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"/>
4573          <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"/>
4574          <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"/>
4575          <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"/>
4576        </svg>
4577        <div class="success_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">已加入購物車</div>
4578        <div class="success_update_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">已更新購物車</div>
4579        <div class="fail_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">網路異常,請重新整理</div>
4580      </div>
4581    </div>
4582  
4582<script src="//cdn1-next.cybassets.com/assets/referral-code-trace-5fcbbe026a61c36b5f09a1615a1c168688205205d9d3e7ee854181a66b64a6ed.js"></script>
4582</body>
4583
4584  
4584<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/sub_vendor-4a1e7dfec7e41476.js' type='text/javascript'></script>
4584
4585  
4585<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/theme_helper-4a1e7dfec7e41476.js' type='text/javascript'></script>
4585
4586
4587  <!-- theme assets -->
4588  
4588<script src='//cdn1-next.cybassets.com/s/files/24606/theme/92088/assets/js/1678256979_c56705cf_main.js?1678256979' type='text/javascript'></script>
4588
4589  
4589<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/theme-4a1e7dfec7e41476.js' type='text/javascript'></script>
4589
4590
4591  <!-- for cache -->
4592  
4592<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/cacheable-4a1e7dfec7e41476.js' type='text/javascript'></script>
4592
4593</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.