$product = {"id":7827174555747,"title":"iPhone XR SolidSuit Tour de France Cycling Composition","handle":"iphone-xr-solidsuit-bumper-back-crossover-design-tdf05","description":null,"published_at":"2025-07-14T11:55:12+08:00","created_at":"2025-06-26T15:04:25+08:00","vendor":"RHINOSHIELD Taiwan B2B","type":"","tags":["10%","20%","30%","40%","50%","brand-Apple","designer","designer-tour-de-france","device-iPhone XR","merge","reseller-tour-de-france"],"price":83000,"price_min":83000,"price_max":83000,"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":43497023144035,"title":"Blush Pink","option1":"Blush Pink","option2":null,"option3":null,"sku":"SST0108557-TDF05","requires_shipping":true,"taxable":true,"featured_image":{"id":34081312243811,"product_id":7827174555747,"position":1,"created_at":"2025-06-26T15:04:29+08:00","updated_at":"2025-06-26T15:04:31+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a1f21cc0e0fcc0b0fceb2e8f7782837b4c791a7c.webp?v=1750921471","variant_ids":[43497023144035]},"available":true,"name":"iPhone XR SolidSuit Tour de France Cycling Composition - Blush Pink","public_title":"Blush Pink","options":["Blush Pink"],"price":83000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"SST0108557-TDF05","featured_media":{"alt":null,"id":25742423949411,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a1f21cc0e0fcc0b0fceb2e8f7782837b4c791a7c.webp?v=1750921471"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43497023176803,"title":"Black","option1":"Black","option2":null,"option3":null,"sku":"SST0108552-TDF05","requires_shipping":true,"taxable":true,"featured_image":{"id":34081315291235,"product_id":7827174555747,"position":7,"created_at":"2025-06-26T15:04:33+08:00","updated_at":"2025-06-26T15:04:35+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/8994e45e98929ac37c525e59625513ce379accf4.webp?v=1750921475","variant_ids":[43497023176803]},"available":true,"name":"iPhone XR SolidSuit Tour de France Cycling Composition - Black","public_title":"Black","options":["Black"],"price":83000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"SST0108552-TDF05","featured_media":{"alt":null,"id":25742425849955,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/8994e45e98929ac37c525e59625513ce379accf4.webp?v=1750921475"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43497023242339,"title":"White","option1":"White","option2":null,"option3":null,"sku":"SST0108553-TDF05","requires_shipping":true,"taxable":true,"featured_image":{"id":34081314963555,"product_id":7827174555747,"position":6,"created_at":"2025-06-26T15:04:33+08:00","updated_at":"2025-06-26T15:04:34+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/453c842dff53af4a6e1508e7ebd5d33ebf6f7363.webp?v=1750921474","variant_ids":[43497023242339]},"available":true,"name":"iPhone XR SolidSuit Tour de France Cycling Composition - White","public_title":"White","options":["White"],"price":83000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"SST0108553-TDF05","featured_media":{"alt":null,"id":25742425718883,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/453c842dff53af4a6e1508e7ebd5d33ebf6f7363.webp?v=1750921474"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43497023275107,"title":"Ash Grey","option1":"Ash Grey","option2":null,"option3":null,"sku":"SST01085O8-TDF05","requires_shipping":true,"taxable":true,"featured_image":{"id":34081313521763,"product_id":7827174555747,"position":3,"created_at":"2025-06-26T15:04:30+08:00","updated_at":"2025-06-26T15:04:32+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/868cd59fff153f186a91791b37f3f5e6ebdc8fdb.webp?v=1750921472","variant_ids":[43497023275107]},"available":true,"name":"iPhone XR SolidSuit Tour de France Cycling Composition - Ash Grey","public_title":"Ash Grey","options":["Ash Grey"],"price":83000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"SST01085O8-TDF05","featured_media":{"alt":null,"id":25742424604771,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/868cd59fff153f186a91791b37f3f5e6ebdc8fdb.webp?v=1750921472"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43497023307875,"title":"Cobalt Blue","option1":"Cobalt Blue","option2":null,"option3":null,"sku":"SST01085O9-TDF05","requires_shipping":true,"taxable":true,"featured_image":{"id":34081313849443,"product_id":7827174555747,"position":4,"created_at":"2025-06-26T15:04:31+08:00","updated_at":"2025-06-26T15:04:33+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/27ee02220873276394671b138964f8d44aab03a0.webp?v=1750921473","variant_ids":[43497023307875]},"available":true,"name":"iPhone XR SolidSuit Tour de France Cycling Composition - Cobalt Blue","public_title":"Cobalt Blue","options":["Cobalt Blue"],"price":83000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"SST01085O9-TDF05","featured_media":{"alt":null,"id":25742424932451,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/27ee02220873276394671b138964f8d44aab03a0.webp?v=1750921473"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a1f21cc0e0fcc0b0fceb2e8f7782837b4c791a7c.webp?v=1750921471","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/de5f45f89f86dbcb267a9a62946aac095ee8aa95.webp?v=1750921472","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/868cd59fff153f186a91791b37f3f5e6ebdc8fdb.webp?v=1750921472","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/27ee02220873276394671b138964f8d44aab03a0.webp?v=1750921473","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/28a73bb992faf9e3c5b3aff019ab8d68a89b44c2.webp?v=1750921474","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/453c842dff53af4a6e1508e7ebd5d33ebf6f7363.webp?v=1750921474","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/8994e45e98929ac37c525e59625513ce379accf4.webp?v=1750921475"],"featured_image":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a1f21cc0e0fcc0b0fceb2e8f7782837b4c791a7c.webp?v=1750921471","options":["color"],"media":[{"alt":null,"id":25742423949411,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a1f21cc0e0fcc0b0fceb2e8f7782837b4c791a7c.webp?v=1750921471"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a1f21cc0e0fcc0b0fceb2e8f7782837b4c791a7c.webp?v=1750921471","width":2000},{"alt":null,"id":25742424375395,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/de5f45f89f86dbcb267a9a62946aac095ee8aa95.webp?v=1750921472"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/de5f45f89f86dbcb267a9a62946aac095ee8aa95.webp?v=1750921472","width":2000},{"alt":null,"id":25742424604771,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/868cd59fff153f186a91791b37f3f5e6ebdc8fdb.webp?v=1750921472"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/868cd59fff153f186a91791b37f3f5e6ebdc8fdb.webp?v=1750921472","width":2000},{"alt":null,"id":25742424932451,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/27ee02220873276394671b138964f8d44aab03a0.webp?v=1750921473"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/27ee02220873276394671b138964f8d44aab03a0.webp?v=1750921473","width":2000},{"alt":null,"id":25742425522275,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/28a73bb992faf9e3c5b3aff019ab8d68a89b44c2.webp?v=1750921474"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/28a73bb992faf9e3c5b3aff019ab8d68a89b44c2.webp?v=1750921474","width":2000},{"alt":null,"id":25742425718883,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/453c842dff53af4a6e1508e7ebd5d33ebf6f7363.webp?v=1750921474"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/453c842dff53af4a6e1508e7ebd5d33ebf6f7363.webp?v=1750921474","width":2000},{"alt":null,"id":25742425849955,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/8994e45e98929ac37c525e59625513ce379accf4.webp?v=1750921475"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/8994e45e98929ac37c525e59625513ce379accf4.webp?v=1750921475","width":2000}],"requires_selling_plan":false,"selling_plan_groups":[],"content":null}; $isMerge = null; $variants = [{"id":43497023144035,"title":"Blush Pink","option1":"Blush Pink","option2":null,"option3":null,"sku":"SST0108557-TDF05","requires_shipping":true,"taxable":true,"featured_image":{"id":34081312243811,"product_id":7827174555747,"position":1,"created_at":"2025-06-26T15:04:29+08:00","updated_at":"2025-06-26T15:04:31+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a1f21cc0e0fcc0b0fceb2e8f7782837b4c791a7c.webp?v=1750921471","variant_ids":[43497023144035]},"available":true,"name":"iPhone XR SolidSuit Tour de France Cycling Composition - Blush Pink","public_title":"Blush Pink","options":["Blush Pink"],"price":83000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"SST0108557-TDF05","featured_media":{"alt":null,"id":25742423949411,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a1f21cc0e0fcc0b0fceb2e8f7782837b4c791a7c.webp?v=1750921471"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43497023176803,"title":"Black","option1":"Black","option2":null,"option3":null,"sku":"SST0108552-TDF05","requires_shipping":true,"taxable":true,"featured_image":{"id":34081315291235,"product_id":7827174555747,"position":7,"created_at":"2025-06-26T15:04:33+08:00","updated_at":"2025-06-26T15:04:35+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/8994e45e98929ac37c525e59625513ce379accf4.webp?v=1750921475","variant_ids":[43497023176803]},"available":true,"name":"iPhone XR SolidSuit Tour de France Cycling Composition - Black","public_title":"Black","options":["Black"],"price":83000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"SST0108552-TDF05","featured_media":{"alt":null,"id":25742425849955,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/8994e45e98929ac37c525e59625513ce379accf4.webp?v=1750921475"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43497023242339,"title":"White","option1":"White","option2":null,"option3":null,"sku":"SST0108553-TDF05","requires_shipping":true,"taxable":true,"featured_image":{"id":34081314963555,"product_id":7827174555747,"position":6,"created_at":"2025-06-26T15:04:33+08:00","updated_at":"2025-06-26T15:04:34+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/453c842dff53af4a6e1508e7ebd5d33ebf6f7363.webp?v=1750921474","variant_ids":[43497023242339]},"available":true,"name":"iPhone XR SolidSuit Tour de France Cycling Composition - White","public_title":"White","options":["White"],"price":83000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"SST0108553-TDF05","featured_media":{"alt":null,"id":25742425718883,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/453c842dff53af4a6e1508e7ebd5d33ebf6f7363.webp?v=1750921474"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43497023275107,"title":"Ash Grey","option1":"Ash Grey","option2":null,"option3":null,"sku":"SST01085O8-TDF05","requires_shipping":true,"taxable":true,"featured_image":{"id":34081313521763,"product_id":7827174555747,"position":3,"created_at":"2025-06-26T15:04:30+08:00","updated_at":"2025-06-26T15:04:32+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/868cd59fff153f186a91791b37f3f5e6ebdc8fdb.webp?v=1750921472","variant_ids":[43497023275107]},"available":true,"name":"iPhone XR SolidSuit Tour de France Cycling Composition - Ash Grey","public_title":"Ash Grey","options":["Ash Grey"],"price":83000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"SST01085O8-TDF05","featured_media":{"alt":null,"id":25742424604771,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/868cd59fff153f186a91791b37f3f5e6ebdc8fdb.webp?v=1750921472"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43497023307875,"title":"Cobalt Blue","option1":"Cobalt Blue","option2":null,"option3":null,"sku":"SST01085O9-TDF05","requires_shipping":true,"taxable":true,"featured_image":{"id":34081313849443,"product_id":7827174555747,"position":4,"created_at":"2025-06-26T15:04:31+08:00","updated_at":"2025-06-26T15:04:33+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/27ee02220873276394671b138964f8d44aab03a0.webp?v=1750921473","variant_ids":[43497023307875]},"available":true,"name":"iPhone XR SolidSuit Tour de France Cycling Composition - Cobalt Blue","public_title":"Cobalt Blue","options":["Cobalt Blue"],"price":83000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"SST01085O9-TDF05","featured_media":{"alt":null,"id":25742424932451,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/27ee02220873276394671b138964f8d44aab03a0.webp?v=1750921473"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}]; $defaultVariant = {"id":43497023144035,"title":"Blush Pink","option1":"Blush Pink","option2":null,"option3":null,"sku":"SST0108557-TDF05","requires_shipping":true,"taxable":true,"featured_image":{"id":34081312243811,"product_id":7827174555747,"position":1,"created_at":"2025-06-26T15:04:29+08:00","updated_at":"2025-06-26T15:04:31+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a1f21cc0e0fcc0b0fceb2e8f7782837b4c791a7c.webp?v=1750921471","variant_ids":[43497023144035]},"available":true,"name":"iPhone XR SolidSuit Tour de France Cycling Composition - Blush Pink","public_title":"Blush Pink","options":["Blush Pink"],"price":83000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"SST0108557-TDF05","featured_media":{"alt":null,"id":25742423949411,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a1f21cc0e0fcc0b0fceb2e8f7782837b4c791a7c.webp?v=1750921471"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}; $device_handle = null; $type = ""; var sellingStatus if ($isMerge) { $(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: "停產" }