$product = {"id":6629695422563,"title":"iPhone 13 Mod NX Backplate","handle":"iphone-13-mod-nx-backplate-clear","description":"","published_at":"2021-09-01T11:08:21+08:00","created_at":"2021-09-01T11:08:23+08:00","vendor":"Rhinoshield","type":"ModNX","tags":["20%","2023-tagsAdd-reseller-PL","20240304-reseller-\u003ereplace_to-","25%","30%","35%","40%","45%","50%","brand-Apple","device-iphone 13","discountable-item","iPhone 13","member","mod-nx-backplate","quickbuy","refresh-2023","reseller","reseller-asus","reseller-modnx-backplate","reseller-modnx_backplate","Top50"],"price":24000,"price_min":24000,"price_max":24000,"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":39631357280355,"title":"clear","option1":"clear","option2":null,"option3":null,"sku":"NX0123026L","requires_shipping":true,"taxable":true,"featured_image":{"id":28543023415395,"product_id":6629695422563,"position":1,"created_at":"2021-09-17T16:06:07+08:00","updated_at":"2021-09-17T16:06:07+08:00","alt":null,"width":1999,"height":1500,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/products\/NX0123026L-backplate-45degree.png?v=1631865967","variant_ids":[39631357280355]},"available":true,"name":"iPhone 13 Mod NX Backplate - clear","public_title":"clear","options":["clear"],"price":24000,"weight":0,"compare_at_price":null,"inventory_quantity":-2490,"inventory_management":null,"inventory_policy":"deny","barcode":"4711203592655","featured_media":{"alt":null,"id":20856873287779,"position":1,"preview_image":{"aspect_ratio":1.333,"height":1500,"width":1999,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/products\/NX0123026L-backplate-45degree.png?v=1631865967"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/b2b.rhinoshield.tw\/cdn\/shop\/products\/NX0123026L-backplate-45degree.png?v=1631865967"],"featured_image":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/products\/NX0123026L-backplate-45degree.png?v=1631865967","options":["color"],"media":[{"alt":null,"id":20856873287779,"position":1,"preview_image":{"aspect_ratio":1.333,"height":1500,"width":1999,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/products\/NX0123026L-backplate-45degree.png?v=1631865967"},"aspect_ratio":1.333,"height":1500,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/products\/NX0123026L-backplate-45degree.png?v=1631865967","width":1999}],"requires_selling_plan":false,"selling_plan_groups":[],"content":""}; $bumper = null; $variants = [{"id":39631357280355,"title":"clear","option1":"clear","option2":null,"option3":null,"sku":"NX0123026L","requires_shipping":true,"taxable":true,"featured_image":{"id":28543023415395,"product_id":6629695422563,"position":1,"created_at":"2021-09-17T16:06:07+08:00","updated_at":"2021-09-17T16:06:07+08:00","alt":null,"width":1999,"height":1500,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/products\/NX0123026L-backplate-45degree.png?v=1631865967","variant_ids":[39631357280355]},"available":true,"name":"iPhone 13 Mod NX Backplate - clear","public_title":"clear","options":["clear"],"price":24000,"weight":0,"compare_at_price":null,"inventory_quantity":-2490,"inventory_management":null,"inventory_policy":"deny","barcode":"4711203592655","featured_media":{"alt":null,"id":20856873287779,"position":1,"preview_image":{"aspect_ratio":1.333,"height":1500,"width":1999,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/products\/NX0123026L-backplate-45degree.png?v=1631865967"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}]; $defaultVariant = {"id":39631357280355,"title":"clear","option1":"clear","option2":null,"option3":null,"sku":"NX0123026L","requires_shipping":true,"taxable":true,"featured_image":{"id":28543023415395,"product_id":6629695422563,"position":1,"created_at":"2021-09-17T16:06:07+08:00","updated_at":"2021-09-17T16:06:07+08:00","alt":null,"width":1999,"height":1500,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/products\/NX0123026L-backplate-45degree.png?v=1631865967","variant_ids":[39631357280355]},"available":true,"name":"iPhone 13 Mod NX Backplate - clear","public_title":"clear","options":["clear"],"price":24000,"weight":0,"compare_at_price":null,"inventory_quantity":-2490,"inventory_management":null,"inventory_policy":"deny","barcode":"4711203592655","featured_media":{"alt":null,"id":20856873287779,"position":1,"preview_image":{"aspect_ratio":1.333,"height":1500,"width":1999,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/products\/NX0123026L-backplate-45degree.png?v=1631865967"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}; var sellingStatus; $device_handle = null if ($bumper) { $(document).ready(function() { var productImg = $product.images[0] var bumperVariants = $bumper.variants; var bumperColors = new Object(); var currentVariant = ''; var productType = ''; bumperVariants.forEach(variant => { bumperColors[`${variant.title.split(' (')[0].toLowerCase()}`] = variant.featured_image.src; }); if (productType === 'mod-nx-backplate' || productType === 'mod-backplate') { mergeImages([productImg, bumperColors[currentVariant]],{ crossOrigin: 'anonymous' }) .then(mergedImg => { $('.merged-img').attr('src', mergedImg); }); } else { mergeImages([bumperColors[currentVariant], productImg],{ crossOrigin: 'anonymous' }) .then(mergedImg => { $('.merged-img').attr('src', mergedImg); }); } }); }; var storedData = sessionStorage.getItem('sellingStatusData'); try { sellingStatusData = JSON.parse(storedData) } catch (error) { console.error('JSON.parse Error', error) sellingStatusData = null } $(document).ready(function() { handleSellingStatus($defaultVariant.sku, sellingStatusData); }); function handleSellingStatus(currentSku, sellingStatusData) { const sellingStatusElement = document.getElementById('selling-status') const addToCartButton = document.getElementById('AddToCart-product-template') const currentProductSku = currentSku.replace(/-(.*)$/, '-') if ($variants) { const matchSellingStatusProduct = sellingStatusData.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, sellingStatusData) }); });
// 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: "停產" }