$product = {"id":7812693229667,"title":"iPhone 15 Pro AirX ilovedoodle I'm Feeling A Little Blue 鯨魚","handle":"iphone-15-pro-airx-magsafe-xf10","description":null,"published_at":"2025-07-01T15:57:15+08:00","created_at":"2025-06-08T15:43:28+08:00","vendor":"RHINOSHIELD Taiwan B2B","type":"","tags":["10%","20%","30%","40%","50%","brand-Apple","designer","designer-ilovedoodle","device-iPhone 15 Pro","merge","reseller-ilovedoodle"],"price":195000,"price_min":195000,"price_max":195000,"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":43434365485155,"title":"Vero Black","option1":"Vero Black","option2":null,"option3":null,"sku":"MAR012974E-XF10","requires_shipping":true,"taxable":true,"featured_image":{"id":35581060251747,"product_id":7812693229667,"position":4,"created_at":"2026-04-02T14:21:19+08:00","updated_at":"2026-04-02T14:21:20+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/4d69f8d184354388abb22bcbeaef03dc902ed7cb_e2f4df33-6b35-43ec-b79f-db5fa66e1ece.webp?v=1775110880","variant_ids":[43434365485155]},"available":true,"name":"iPhone 15 Pro AirX ilovedoodle I'm Feeling A Little Blue 鯨魚 - Vero Black","public_title":"Vero Black","options":["Vero Black"],"price":195000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"MAR012974E-XF10","featured_media":{"alt":null,"id":27113680470115,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/4d69f8d184354388abb22bcbeaef03dc902ed7cb_e2f4df33-6b35-43ec-b79f-db5fa66e1ece.webp?v=1775110880"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43434366533731,"title":"Flux Gray","option1":"Flux Gray","option2":null,"option3":null,"sku":"MAR012974F-XF10","requires_shipping":true,"taxable":true,"featured_image":{"id":35581060677731,"product_id":7812693229667,"position":5,"created_at":"2026-04-02T14:21:19+08:00","updated_at":"2026-04-02T14:21:21+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/be755aec33826eaf80d93c587a4c98482794dfe4_3bb816a7-5087-4d00-8c92-85c851e9daaf.webp?v=1775110881","variant_ids":[43434366533731]},"available":true,"name":"iPhone 15 Pro AirX ilovedoodle I'm Feeling A Little Blue 鯨魚 - Flux Gray","public_title":"Flux Gray","options":["Flux Gray"],"price":195000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"MAR012974F-XF10","featured_media":{"alt":null,"id":27113680896099,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/be755aec33826eaf80d93c587a4c98482794dfe4_3bb816a7-5087-4d00-8c92-85c851e9daaf.webp?v=1775110881"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirX-4E-297-XF10.png?v=1749368611","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/4d69f8d184354388abb22bcbeaef03dc902ed7cb.webp?v=1774940081","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/be755aec33826eaf80d93c587a4c98482794dfe4.webp?v=1774940082","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/4d69f8d184354388abb22bcbeaef03dc902ed7cb_e2f4df33-6b35-43ec-b79f-db5fa66e1ece.webp?v=1775110880","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/be755aec33826eaf80d93c587a4c98482794dfe4_3bb816a7-5087-4d00-8c92-85c851e9daaf.webp?v=1775110881"],"featured_image":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirX-4E-297-XF10.png?v=1749368611","options":["color"],"media":[{"alt":null,"id":25681053974627,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirX-4E-297-XF10.png?v=1749368611"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirX-4E-297-XF10.png?v=1749368611","width":2000},{"alt":null,"id":27102453334115,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/4d69f8d184354388abb22bcbeaef03dc902ed7cb.webp?v=1774940081"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/4d69f8d184354388abb22bcbeaef03dc902ed7cb.webp?v=1774940081","width":2000},{"alt":null,"id":27102453497955,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/be755aec33826eaf80d93c587a4c98482794dfe4.webp?v=1774940082"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/be755aec33826eaf80d93c587a4c98482794dfe4.webp?v=1774940082","width":2000},{"alt":null,"id":27113680470115,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/4d69f8d184354388abb22bcbeaef03dc902ed7cb_e2f4df33-6b35-43ec-b79f-db5fa66e1ece.webp?v=1775110880"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/4d69f8d184354388abb22bcbeaef03dc902ed7cb_e2f4df33-6b35-43ec-b79f-db5fa66e1ece.webp?v=1775110880","width":2000},{"alt":null,"id":27113680896099,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/be755aec33826eaf80d93c587a4c98482794dfe4_3bb816a7-5087-4d00-8c92-85c851e9daaf.webp?v=1775110881"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/be755aec33826eaf80d93c587a4c98482794dfe4_3bb816a7-5087-4d00-8c92-85c851e9daaf.webp?v=1775110881","width":2000}],"requires_selling_plan":false,"selling_plan_groups":[],"content":null}; $isMerge = null; $variants = [{"id":43434365485155,"title":"Vero Black","option1":"Vero Black","option2":null,"option3":null,"sku":"MAR012974E-XF10","requires_shipping":true,"taxable":true,"featured_image":{"id":35581060251747,"product_id":7812693229667,"position":4,"created_at":"2026-04-02T14:21:19+08:00","updated_at":"2026-04-02T14:21:20+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/4d69f8d184354388abb22bcbeaef03dc902ed7cb_e2f4df33-6b35-43ec-b79f-db5fa66e1ece.webp?v=1775110880","variant_ids":[43434365485155]},"available":true,"name":"iPhone 15 Pro AirX ilovedoodle I'm Feeling A Little Blue 鯨魚 - Vero Black","public_title":"Vero Black","options":["Vero Black"],"price":195000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"MAR012974E-XF10","featured_media":{"alt":null,"id":27113680470115,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/4d69f8d184354388abb22bcbeaef03dc902ed7cb_e2f4df33-6b35-43ec-b79f-db5fa66e1ece.webp?v=1775110880"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43434366533731,"title":"Flux Gray","option1":"Flux Gray","option2":null,"option3":null,"sku":"MAR012974F-XF10","requires_shipping":true,"taxable":true,"featured_image":{"id":35581060677731,"product_id":7812693229667,"position":5,"created_at":"2026-04-02T14:21:19+08:00","updated_at":"2026-04-02T14:21:21+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/be755aec33826eaf80d93c587a4c98482794dfe4_3bb816a7-5087-4d00-8c92-85c851e9daaf.webp?v=1775110881","variant_ids":[43434366533731]},"available":true,"name":"iPhone 15 Pro AirX ilovedoodle I'm Feeling A Little Blue 鯨魚 - Flux Gray","public_title":"Flux Gray","options":["Flux Gray"],"price":195000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"MAR012974F-XF10","featured_media":{"alt":null,"id":27113680896099,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/be755aec33826eaf80d93c587a4c98482794dfe4_3bb816a7-5087-4d00-8c92-85c851e9daaf.webp?v=1775110881"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}]; $defaultVariant = {"id":43434365485155,"title":"Vero Black","option1":"Vero Black","option2":null,"option3":null,"sku":"MAR012974E-XF10","requires_shipping":true,"taxable":true,"featured_image":{"id":35581060251747,"product_id":7812693229667,"position":4,"created_at":"2026-04-02T14:21:19+08:00","updated_at":"2026-04-02T14:21:20+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/4d69f8d184354388abb22bcbeaef03dc902ed7cb_e2f4df33-6b35-43ec-b79f-db5fa66e1ece.webp?v=1775110880","variant_ids":[43434365485155]},"available":true,"name":"iPhone 15 Pro AirX ilovedoodle I'm Feeling A Little Blue 鯨魚 - Vero Black","public_title":"Vero Black","options":["Vero Black"],"price":195000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"MAR012974E-XF10","featured_media":{"alt":null,"id":27113680470115,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/4d69f8d184354388abb22bcbeaef03dc902ed7cb_e2f4df33-6b35-43ec-b79f-db5fa66e1ece.webp?v=1775110880"}},"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: "停產" }