$product = {"id":6985232875619,"title":"AirPods Pro AirPods Case KID SEA KID","handle":"airpods-pro-airpods-case-jo38","description":null,"published_at":"2024-08-20T18:19:14+08:00","created_at":"2023-07-28T18:16:04+08:00","vendor":"RHINOSHIELD Taiwan B2B","type":"","tags":["10%","20%","30%","40%","50%","brand-Apple","designer","designer-kid","device-Airpods Pro","merge","reseller-kid"],"price":75000,"price_min":75000,"price_max":75000,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":40604551970915,"title":"Black","option1":"Black","option2":null,"option3":null,"sku":"ABT0117152-JO38","requires_shipping":true,"taxable":true,"featured_image":{"id":36150829383779,"product_id":6985232875619,"position":3,"created_at":"2026-07-02T09:50:13+08:00","updated_at":"2026-07-02T09:50:15+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/c163c1a9c97d804040a573c18d5da116562424fa.webp?v=1782957015","variant_ids":[40604551970915]},"available":true,"name":"AirPods Pro AirPods Case KID SEA KID - Black","public_title":"Black","options":["Black"],"price":75000,"weight":750,"compare_at_price":null,"inventory_quantity":2500,"inventory_management":null,"inventory_policy":"deny","barcode":"ABT0117152-JO38","featured_media":{"alt":null,"id":27655704412259,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/c163c1a9c97d804040a573c18d5da116562424fa.webp?v=1782957015"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40604552462435,"title":"Ash Grey","option1":"Ash Grey","option2":null,"option3":null,"sku":"ABT01171O8-JO38","requires_shipping":true,"taxable":true,"featured_image":{"id":36150830760035,"product_id":6985232875619,"position":6,"created_at":"2026-07-02T09:50:19+08:00","updated_at":"2026-07-02T09:50:21+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/69a449ca13b9a00a3275c3e73d5071696048d118.webp?v=1782957021","variant_ids":[40604552462435]},"available":true,"name":"AirPods Pro AirPods Case KID SEA KID - Ash Grey","public_title":"Ash Grey","options":["Ash Grey"],"price":75000,"weight":750,"compare_at_price":null,"inventory_quantity":2500,"inventory_management":null,"inventory_policy":"deny","barcode":"ABT01171O8-JO38","featured_media":{"alt":null,"id":27655705788515,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/69a449ca13b9a00a3275c3e73d5071696048d118.webp?v=1782957021"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40604552691811,"title":"Cobalt Blue","option1":"Cobalt Blue","option2":null,"option3":null,"sku":"ABT01171O9-JO38","requires_shipping":true,"taxable":true,"featured_image":{"id":36150829809763,"product_id":6985232875619,"position":4,"created_at":"2026-07-02T09:50:14+08:00","updated_at":"2026-07-02T09:50:16+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/b20cd8392332f3f592f26eff66252ccc8001b281.webp?v=1782957016","variant_ids":[40604552691811]},"available":true,"name":"AirPods Pro AirPods Case KID SEA KID - Cobalt Blue","public_title":"Cobalt Blue","options":["Cobalt Blue"],"price":75000,"weight":750,"compare_at_price":null,"inventory_quantity":2500,"inventory_management":null,"inventory_policy":"deny","barcode":"ABT01171O9-JO38","featured_media":{"alt":null,"id":27655704838243,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/b20cd8392332f3f592f26eff66252ccc8001b281.webp?v=1782957016"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40604552921187,"title":"Antique Bronze","option1":"Antique Bronze","option2":null,"option3":null,"sku":"ABT01171P0-JO38","requires_shipping":true,"taxable":true,"featured_image":{"id":36150829023331,"product_id":6985232875619,"position":2,"created_at":"2026-07-02T09:50:13+08:00","updated_at":"2026-07-02T09:50:15+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/febdbc31c4e5f1aec61b286980ddc2f2de1aa2d2.webp?v=1782957015","variant_ids":[40604552921187]},"available":true,"name":"AirPods Pro AirPods Case KID SEA KID - Antique Bronze","public_title":"Antique Bronze","options":["Antique Bronze"],"price":75000,"weight":750,"compare_at_price":null,"inventory_quantity":2500,"inventory_management":null,"inventory_policy":"deny","barcode":"ABT01171P0-JO38","featured_media":{"alt":null,"id":27655704051811,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/febdbc31c4e5f1aec61b286980ddc2f2de1aa2d2.webp?v=1782957015"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40604553445475,"title":"Sage Green","option1":"Sage Green","option2":null,"option3":null,"sku":"ABT01171P2-JO38","requires_shipping":true,"taxable":true,"featured_image":{"id":36150830956643,"product_id":6985232875619,"position":7,"created_at":"2026-07-02T09:50:20+08:00","updated_at":"2026-07-02T09:50:22+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a444daf7a8d1cd46b7a43a3192b4cad74de6ada1.webp?v=1782957022","variant_ids":[40604553445475]},"available":true,"name":"AirPods Pro AirPods Case KID SEA KID - Sage Green","public_title":"Sage Green","options":["Sage Green"],"price":75000,"weight":750,"compare_at_price":null,"inventory_quantity":2500,"inventory_management":null,"inventory_policy":"deny","barcode":"ABT01171P2-JO38","featured_media":{"alt":null,"id":27655705985123,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a444daf7a8d1cd46b7a43a3192b4cad74de6ada1.webp?v=1782957022"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40604553642083,"title":"Transparent","option1":"Transparent","option2":null,"option3":null,"sku":"ABT01171R4-JO38","requires_shipping":true,"taxable":true,"featured_image":{"id":36150830235747,"product_id":6985232875619,"position":5,"created_at":"2026-07-02T09:50:18+08:00","updated_at":"2026-07-02T09:50:20+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/909f82d954f1632cb32f7ee4289db7f60c6c0622.webp?v=1782957020","variant_ids":[40604553642083]},"available":true,"name":"AirPods Pro AirPods Case KID SEA KID - Transparent","public_title":"Transparent","options":["Transparent"],"price":75000,"weight":750,"compare_at_price":null,"inventory_quantity":2500,"inventory_management":null,"inventory_policy":"deny","barcode":"ABT01171R4-JO38","featured_media":{"alt":null,"id":27655705264227,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/909f82d954f1632cb32f7ee4289db7f60c6c0622.webp?v=1782957020"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirPodsCaseTPE-52-171-JO38.png?v=1690539367","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/febdbc31c4e5f1aec61b286980ddc2f2de1aa2d2.webp?v=1782957015","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/c163c1a9c97d804040a573c18d5da116562424fa.webp?v=1782957015","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/b20cd8392332f3f592f26eff66252ccc8001b281.webp?v=1782957016","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/909f82d954f1632cb32f7ee4289db7f60c6c0622.webp?v=1782957020","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/69a449ca13b9a00a3275c3e73d5071696048d118.webp?v=1782957021","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a444daf7a8d1cd46b7a43a3192b4cad74de6ada1.webp?v=1782957022"],"featured_image":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirPodsCaseTPE-52-171-JO38.png?v=1690539367","options":["color"],"media":[{"alt":null,"id":22639473983587,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirPodsCaseTPE-52-171-JO38.png?v=1690539367"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirPodsCaseTPE-52-171-JO38.png?v=1690539367","width":2000},{"alt":null,"id":27655704051811,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/febdbc31c4e5f1aec61b286980ddc2f2de1aa2d2.webp?v=1782957015"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/febdbc31c4e5f1aec61b286980ddc2f2de1aa2d2.webp?v=1782957015","width":2000},{"alt":null,"id":27655704412259,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/c163c1a9c97d804040a573c18d5da116562424fa.webp?v=1782957015"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/c163c1a9c97d804040a573c18d5da116562424fa.webp?v=1782957015","width":2000},{"alt":null,"id":27655704838243,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/b20cd8392332f3f592f26eff66252ccc8001b281.webp?v=1782957016"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/b20cd8392332f3f592f26eff66252ccc8001b281.webp?v=1782957016","width":2000},{"alt":null,"id":27655705264227,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/909f82d954f1632cb32f7ee4289db7f60c6c0622.webp?v=1782957020"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/909f82d954f1632cb32f7ee4289db7f60c6c0622.webp?v=1782957020","width":2000},{"alt":null,"id":27655705788515,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/69a449ca13b9a00a3275c3e73d5071696048d118.webp?v=1782957021"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/69a449ca13b9a00a3275c3e73d5071696048d118.webp?v=1782957021","width":2000},{"alt":null,"id":27655705985123,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a444daf7a8d1cd46b7a43a3192b4cad74de6ada1.webp?v=1782957022"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a444daf7a8d1cd46b7a43a3192b4cad74de6ada1.webp?v=1782957022","width":2000}],"requires_selling_plan":false,"selling_plan_groups":[],"content":null}; $isMerge = null; $variants = [{"id":40604551970915,"title":"Black","option1":"Black","option2":null,"option3":null,"sku":"ABT0117152-JO38","requires_shipping":true,"taxable":true,"featured_image":{"id":36150829383779,"product_id":6985232875619,"position":3,"created_at":"2026-07-02T09:50:13+08:00","updated_at":"2026-07-02T09:50:15+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/c163c1a9c97d804040a573c18d5da116562424fa.webp?v=1782957015","variant_ids":[40604551970915]},"available":true,"name":"AirPods Pro AirPods Case KID SEA KID - Black","public_title":"Black","options":["Black"],"price":75000,"weight":750,"compare_at_price":null,"inventory_quantity":2500,"inventory_management":null,"inventory_policy":"deny","barcode":"ABT0117152-JO38","featured_media":{"alt":null,"id":27655704412259,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/c163c1a9c97d804040a573c18d5da116562424fa.webp?v=1782957015"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40604552462435,"title":"Ash Grey","option1":"Ash Grey","option2":null,"option3":null,"sku":"ABT01171O8-JO38","requires_shipping":true,"taxable":true,"featured_image":{"id":36150830760035,"product_id":6985232875619,"position":6,"created_at":"2026-07-02T09:50:19+08:00","updated_at":"2026-07-02T09:50:21+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/69a449ca13b9a00a3275c3e73d5071696048d118.webp?v=1782957021","variant_ids":[40604552462435]},"available":true,"name":"AirPods Pro AirPods Case KID SEA KID - Ash Grey","public_title":"Ash Grey","options":["Ash Grey"],"price":75000,"weight":750,"compare_at_price":null,"inventory_quantity":2500,"inventory_management":null,"inventory_policy":"deny","barcode":"ABT01171O8-JO38","featured_media":{"alt":null,"id":27655705788515,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/69a449ca13b9a00a3275c3e73d5071696048d118.webp?v=1782957021"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40604552691811,"title":"Cobalt Blue","option1":"Cobalt Blue","option2":null,"option3":null,"sku":"ABT01171O9-JO38","requires_shipping":true,"taxable":true,"featured_image":{"id":36150829809763,"product_id":6985232875619,"position":4,"created_at":"2026-07-02T09:50:14+08:00","updated_at":"2026-07-02T09:50:16+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/b20cd8392332f3f592f26eff66252ccc8001b281.webp?v=1782957016","variant_ids":[40604552691811]},"available":true,"name":"AirPods Pro AirPods Case KID SEA KID - Cobalt Blue","public_title":"Cobalt Blue","options":["Cobalt Blue"],"price":75000,"weight":750,"compare_at_price":null,"inventory_quantity":2500,"inventory_management":null,"inventory_policy":"deny","barcode":"ABT01171O9-JO38","featured_media":{"alt":null,"id":27655704838243,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/b20cd8392332f3f592f26eff66252ccc8001b281.webp?v=1782957016"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40604552921187,"title":"Antique Bronze","option1":"Antique Bronze","option2":null,"option3":null,"sku":"ABT01171P0-JO38","requires_shipping":true,"taxable":true,"featured_image":{"id":36150829023331,"product_id":6985232875619,"position":2,"created_at":"2026-07-02T09:50:13+08:00","updated_at":"2026-07-02T09:50:15+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/febdbc31c4e5f1aec61b286980ddc2f2de1aa2d2.webp?v=1782957015","variant_ids":[40604552921187]},"available":true,"name":"AirPods Pro AirPods Case KID SEA KID - Antique Bronze","public_title":"Antique Bronze","options":["Antique Bronze"],"price":75000,"weight":750,"compare_at_price":null,"inventory_quantity":2500,"inventory_management":null,"inventory_policy":"deny","barcode":"ABT01171P0-JO38","featured_media":{"alt":null,"id":27655704051811,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/febdbc31c4e5f1aec61b286980ddc2f2de1aa2d2.webp?v=1782957015"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40604553445475,"title":"Sage Green","option1":"Sage Green","option2":null,"option3":null,"sku":"ABT01171P2-JO38","requires_shipping":true,"taxable":true,"featured_image":{"id":36150830956643,"product_id":6985232875619,"position":7,"created_at":"2026-07-02T09:50:20+08:00","updated_at":"2026-07-02T09:50:22+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a444daf7a8d1cd46b7a43a3192b4cad74de6ada1.webp?v=1782957022","variant_ids":[40604553445475]},"available":true,"name":"AirPods Pro AirPods Case KID SEA KID - Sage Green","public_title":"Sage Green","options":["Sage Green"],"price":75000,"weight":750,"compare_at_price":null,"inventory_quantity":2500,"inventory_management":null,"inventory_policy":"deny","barcode":"ABT01171P2-JO38","featured_media":{"alt":null,"id":27655705985123,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a444daf7a8d1cd46b7a43a3192b4cad74de6ada1.webp?v=1782957022"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40604553642083,"title":"Transparent","option1":"Transparent","option2":null,"option3":null,"sku":"ABT01171R4-JO38","requires_shipping":true,"taxable":true,"featured_image":{"id":36150830235747,"product_id":6985232875619,"position":5,"created_at":"2026-07-02T09:50:18+08:00","updated_at":"2026-07-02T09:50:20+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/909f82d954f1632cb32f7ee4289db7f60c6c0622.webp?v=1782957020","variant_ids":[40604553642083]},"available":true,"name":"AirPods Pro AirPods Case KID SEA KID - Transparent","public_title":"Transparent","options":["Transparent"],"price":75000,"weight":750,"compare_at_price":null,"inventory_quantity":2500,"inventory_management":null,"inventory_policy":"deny","barcode":"ABT01171R4-JO38","featured_media":{"alt":null,"id":27655705264227,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/909f82d954f1632cb32f7ee4289db7f60c6c0622.webp?v=1782957020"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}]; $defaultVariant = {"id":40604551970915,"title":"Black","option1":"Black","option2":null,"option3":null,"sku":"ABT0117152-JO38","requires_shipping":true,"taxable":true,"featured_image":{"id":36150829383779,"product_id":6985232875619,"position":3,"created_at":"2026-07-02T09:50:13+08:00","updated_at":"2026-07-02T09:50:15+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/c163c1a9c97d804040a573c18d5da116562424fa.webp?v=1782957015","variant_ids":[40604551970915]},"available":true,"name":"AirPods Pro AirPods Case KID SEA KID - Black","public_title":"Black","options":["Black"],"price":75000,"weight":750,"compare_at_price":null,"inventory_quantity":2500,"inventory_management":null,"inventory_policy":"deny","barcode":"ABT0117152-JO38","featured_media":{"alt":null,"id":27655704412259,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/c163c1a9c97d804040a573c18d5da116562424fa.webp?v=1782957015"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}; $device_handle = null; $brand_handle = null; $type = ""; var sellingStatus // 只有設計款(SKU 含 '-')才需要合圖 if ($isMerge && $defaultVariant.sku.includes('-')) { $(document).ready(function() { var productImg = $product.images[0]; var bumperImg = window.getProductImageUrl($defaultVariant.sku.split('-')[0]); var layers = ($type === 'mod-nx-backplate' || $type === 'mod-backplate') ? [productImg, bumperImg] : [bumperImg, productImg]; window.mergeProductImages(layers).then(function (mergedImg) { $('.merged-img').attr('src', mergedImg); }); }); }; var sellingStatusData window.fetchSellingStatus().then(data => { try { sellingStatusData = data; } catch (error) { sellingStatusData = null console.error('Unable to parse selling status', error) } $(document).ready(function() { handleSellingStatus($defaultVariant.sku); }); }) function handleSellingStatus(currentSku) { if (!sellingStatusData) { console.error('No selling status available!') return } const sellingStatusElement = document.getElementById('selling-status') const addToCartButton = document.getElementById('AddToCart-product-template') const currentProductSku = currentSku.replace(/-(.*)$/, '-') if ($variants) { const flattenedSellingStatus = [...sellingStatusData.pending, ...sellingStatusData.preorder] const matchSellingStatusProduct = flattenedSellingStatus.filter(product => currentProductSku === product.sku) if (matchSellingStatusProduct.length > 0) { const isProductPending = matchSellingStatusProduct[0].status === 'pending' const matchDate = matchSellingStatusProduct[0].date sellingStatus = isProductPending ? "缺貨中" : "預購完成出貨日:" + matchDate sellingStatusElement.textContent = sellingStatus if (sellingStatus.includes("缺貨中")){ addToCartButton.disabled ='true'; addToCartButton.textContent = "缺貨中無法加入購物車" } else { addToCartButton.textContent = "加到購物車" } } else { sellingStatusElement.textContent = '' addToCartButton.textContent = "加到購物車" }; }; }; document.addEventListener('DOMContentLoaded', function () { var currentVariantSelect = document.getElementById('SingleOptionSelector-0') currentVariantSelect.addEventListener('change', function() { var currentSku = $('#current_sku').text() var skuElement = document.getElementById('current-sku') skuElement.textContent = currentSku handleSellingStatus(currentSku) }); });
// Override default values of shop.strings for each template. // Alternate product templates can change values of // add to cart button, sold out, and unavailable states here. theme.productStrings = { addToCart: "加到購物車", soldOut: "售完", unavailable: "停產" }