$product = {"id":7922504335459,"title":"iPhone 17 Pro AirX Tour de France Jersey Line-up","handle":"iphone-17-pro-airx-magsafe-bumper-back-crossover-design-tdf12","description":null,"published_at":"2025-11-19T09:50:52+08:00","created_at":"2025-11-13T17:54:58+08:00","vendor":"RHINOSHIELD Taiwan B2B","type":"","tags":["10%","20%","30%","40%","50%","brand-Apple","designer","designer-tour-de-france","device-iPhone 17 Pro","merge","reseller-tour-de-france"],"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":43836214411363,"title":"Vero Black","option1":"Vero Black","option2":null,"option3":null,"sku":"MAR013524E-TDF12","requires_shipping":true,"taxable":true,"featured_image":{"id":34795731681379,"product_id":7922504335459,"position":1,"created_at":"2025-11-13T17:55:01+08:00","updated_at":"2025-11-13T17:55:03+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirX-4E-352-TDF12.png?v=1763027703","variant_ids":[43836214411363,43836215328867]},"available":true,"name":"iPhone 17 Pro AirX Tour de France Jersey Line-up - 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":"MAR013524E-TDF12","featured_media":{"alt":null,"id":26361143853155,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirX-4E-352-TDF12.png?v=1763027703"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43836215328867,"title":"Flux Gray","option1":"Flux Gray","option2":null,"option3":null,"sku":"MAR013524F-TDF12","requires_shipping":true,"taxable":true,"featured_image":{"id":34795731681379,"product_id":7922504335459,"position":1,"created_at":"2025-11-13T17:55:01+08:00","updated_at":"2025-11-13T17:55:03+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirX-4E-352-TDF12.png?v=1763027703","variant_ids":[43836214411363,43836215328867]},"available":true,"name":"iPhone 17 Pro AirX Tour de France Jersey Line-up - 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":"MAR013524F-TDF12","featured_media":{"alt":null,"id":26361143853155,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirX-4E-352-TDF12.png?v=1763027703"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":44440483037283,"title":"Ashen Violet","option1":"Ashen Violet","option2":null,"option3":null,"sku":"MAR013526C-TDF12","requires_shipping":true,"taxable":true,"featured_image":{"id":36485374836835,"product_id":7922504335459,"position":4,"created_at":"2026-08-05T10:10:49+08:00","updated_at":"2026-08-05T10:10:50+08:00","alt":null,"width":550,"height":550,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/2394eb78cfc1e5ce19fea6da45f9da72fe2be617.webp?v=1785895850","variant_ids":[44440483037283]},"available":true,"name":"iPhone 17 Pro AirX Tour de France Jersey Line-up - Ashen Violet","public_title":"Ashen Violet","options":["Ashen Violet"],"price":195000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"MAR013526C-TDF12","featured_media":{"alt":null,"id":27988688142435,"position":4,"preview_image":{"aspect_ratio":1.0,"height":550,"width":550,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/2394eb78cfc1e5ce19fea6da45f9da72fe2be617.webp?v=1785895850"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":44448739917923,"title":"Ridgeline Gray","option1":"Ridgeline Gray","option2":null,"option3":null,"sku":"MAR013526D-TDF12","requires_shipping":true,"taxable":true,"featured_image":{"id":36494734458979,"product_id":7922504335459,"position":5,"created_at":"2026-08-06T11:03:03+08:00","updated_at":"2026-08-06T11:03:05+08:00","alt":null,"width":550,"height":550,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/8166b3a0aeec7f8960f02f0630a5b8dbba04e61a_0c8ad1f8-7282-4815-961c-0b75d6ce8843.webp?v=1785985385","variant_ids":[44448739917923]},"available":true,"name":"iPhone 17 Pro AirX Tour de France Jersey Line-up - Ridgeline Gray","public_title":"Ridgeline Gray","options":["Ridgeline Gray"],"price":195000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"MAR013526D-TDF12","featured_media":{"alt":null,"id":27998031577187,"position":5,"preview_image":{"aspect_ratio":1.0,"height":550,"width":550,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/8166b3a0aeec7f8960f02f0630a5b8dbba04e61a_0c8ad1f8-7282-4815-961c-0b75d6ce8843.webp?v=1785985385"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":44448740343907,"title":"Trailhead Green","option1":"Trailhead Green","option2":null,"option3":null,"sku":"MAR013526E-TDF12","requires_shipping":true,"taxable":true,"featured_image":{"id":36494734884963,"product_id":7922504335459,"position":6,"created_at":"2026-08-06T11:03:05+08:00","updated_at":"2026-08-06T11:03:07+08:00","alt":null,"width":550,"height":550,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/221836d04dcc79ebab572413df0f65746aefea8a_50ce79b0-a7ad-4aa3-947d-19a48333a0e2.webp?v=1785985387","variant_ids":[44448740343907]},"available":true,"name":"iPhone 17 Pro AirX Tour de France Jersey Line-up - Trailhead Green","public_title":"Trailhead Green","options":["Trailhead Green"],"price":195000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"MAR013526E-TDF12","featured_media":{"alt":null,"id":27998032003171,"position":6,"preview_image":{"aspect_ratio":1.0,"height":550,"width":550,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/221836d04dcc79ebab572413df0f65746aefea8a_50ce79b0-a7ad-4aa3-947d-19a48333a0e2.webp?v=1785985387"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirX-4E-352-TDF12.png?v=1763027703","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/221836d04dcc79ebab572413df0f65746aefea8a.webp?v=1785895847","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/8166b3a0aeec7f8960f02f0630a5b8dbba04e61a.webp?v=1785895849","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/2394eb78cfc1e5ce19fea6da45f9da72fe2be617.webp?v=1785895850","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/8166b3a0aeec7f8960f02f0630a5b8dbba04e61a_0c8ad1f8-7282-4815-961c-0b75d6ce8843.webp?v=1785985385","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/221836d04dcc79ebab572413df0f65746aefea8a_50ce79b0-a7ad-4aa3-947d-19a48333a0e2.webp?v=1785985387"],"featured_image":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirX-4E-352-TDF12.png?v=1763027703","options":["color"],"media":[{"alt":null,"id":26361143853155,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirX-4E-352-TDF12.png?v=1763027703"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirX-4E-352-TDF12.png?v=1763027703","width":2000},{"alt":null,"id":27988687487075,"position":2,"preview_image":{"aspect_ratio":1.0,"height":550,"width":550,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/221836d04dcc79ebab572413df0f65746aefea8a.webp?v=1785895847"},"aspect_ratio":1.0,"height":550,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/221836d04dcc79ebab572413df0f65746aefea8a.webp?v=1785895847","width":550},{"alt":null,"id":27988687880291,"position":3,"preview_image":{"aspect_ratio":1.0,"height":550,"width":550,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/8166b3a0aeec7f8960f02f0630a5b8dbba04e61a.webp?v=1785895849"},"aspect_ratio":1.0,"height":550,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/8166b3a0aeec7f8960f02f0630a5b8dbba04e61a.webp?v=1785895849","width":550},{"alt":null,"id":27988688142435,"position":4,"preview_image":{"aspect_ratio":1.0,"height":550,"width":550,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/2394eb78cfc1e5ce19fea6da45f9da72fe2be617.webp?v=1785895850"},"aspect_ratio":1.0,"height":550,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/2394eb78cfc1e5ce19fea6da45f9da72fe2be617.webp?v=1785895850","width":550},{"alt":null,"id":27998031577187,"position":5,"preview_image":{"aspect_ratio":1.0,"height":550,"width":550,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/8166b3a0aeec7f8960f02f0630a5b8dbba04e61a_0c8ad1f8-7282-4815-961c-0b75d6ce8843.webp?v=1785985385"},"aspect_ratio":1.0,"height":550,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/8166b3a0aeec7f8960f02f0630a5b8dbba04e61a_0c8ad1f8-7282-4815-961c-0b75d6ce8843.webp?v=1785985385","width":550},{"alt":null,"id":27998032003171,"position":6,"preview_image":{"aspect_ratio":1.0,"height":550,"width":550,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/221836d04dcc79ebab572413df0f65746aefea8a_50ce79b0-a7ad-4aa3-947d-19a48333a0e2.webp?v=1785985387"},"aspect_ratio":1.0,"height":550,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/221836d04dcc79ebab572413df0f65746aefea8a_50ce79b0-a7ad-4aa3-947d-19a48333a0e2.webp?v=1785985387","width":550}],"requires_selling_plan":false,"selling_plan_groups":[],"content":null};
$isMerge = null;
$variants = [{"id":43836214411363,"title":"Vero Black","option1":"Vero Black","option2":null,"option3":null,"sku":"MAR013524E-TDF12","requires_shipping":true,"taxable":true,"featured_image":{"id":34795731681379,"product_id":7922504335459,"position":1,"created_at":"2025-11-13T17:55:01+08:00","updated_at":"2025-11-13T17:55:03+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirX-4E-352-TDF12.png?v=1763027703","variant_ids":[43836214411363,43836215328867]},"available":true,"name":"iPhone 17 Pro AirX Tour de France Jersey Line-up - 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":"MAR013524E-TDF12","featured_media":{"alt":null,"id":26361143853155,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirX-4E-352-TDF12.png?v=1763027703"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43836215328867,"title":"Flux Gray","option1":"Flux Gray","option2":null,"option3":null,"sku":"MAR013524F-TDF12","requires_shipping":true,"taxable":true,"featured_image":{"id":34795731681379,"product_id":7922504335459,"position":1,"created_at":"2025-11-13T17:55:01+08:00","updated_at":"2025-11-13T17:55:03+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirX-4E-352-TDF12.png?v=1763027703","variant_ids":[43836214411363,43836215328867]},"available":true,"name":"iPhone 17 Pro AirX Tour de France Jersey Line-up - 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":"MAR013524F-TDF12","featured_media":{"alt":null,"id":26361143853155,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirX-4E-352-TDF12.png?v=1763027703"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":44440483037283,"title":"Ashen Violet","option1":"Ashen Violet","option2":null,"option3":null,"sku":"MAR013526C-TDF12","requires_shipping":true,"taxable":true,"featured_image":{"id":36485374836835,"product_id":7922504335459,"position":4,"created_at":"2026-08-05T10:10:49+08:00","updated_at":"2026-08-05T10:10:50+08:00","alt":null,"width":550,"height":550,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/2394eb78cfc1e5ce19fea6da45f9da72fe2be617.webp?v=1785895850","variant_ids":[44440483037283]},"available":true,"name":"iPhone 17 Pro AirX Tour de France Jersey Line-up - Ashen Violet","public_title":"Ashen Violet","options":["Ashen Violet"],"price":195000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"MAR013526C-TDF12","featured_media":{"alt":null,"id":27988688142435,"position":4,"preview_image":{"aspect_ratio":1.0,"height":550,"width":550,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/2394eb78cfc1e5ce19fea6da45f9da72fe2be617.webp?v=1785895850"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":44448739917923,"title":"Ridgeline Gray","option1":"Ridgeline Gray","option2":null,"option3":null,"sku":"MAR013526D-TDF12","requires_shipping":true,"taxable":true,"featured_image":{"id":36494734458979,"product_id":7922504335459,"position":5,"created_at":"2026-08-06T11:03:03+08:00","updated_at":"2026-08-06T11:03:05+08:00","alt":null,"width":550,"height":550,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/8166b3a0aeec7f8960f02f0630a5b8dbba04e61a_0c8ad1f8-7282-4815-961c-0b75d6ce8843.webp?v=1785985385","variant_ids":[44448739917923]},"available":true,"name":"iPhone 17 Pro AirX Tour de France Jersey Line-up - Ridgeline Gray","public_title":"Ridgeline Gray","options":["Ridgeline Gray"],"price":195000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"MAR013526D-TDF12","featured_media":{"alt":null,"id":27998031577187,"position":5,"preview_image":{"aspect_ratio":1.0,"height":550,"width":550,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/8166b3a0aeec7f8960f02f0630a5b8dbba04e61a_0c8ad1f8-7282-4815-961c-0b75d6ce8843.webp?v=1785985385"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":44448740343907,"title":"Trailhead Green","option1":"Trailhead Green","option2":null,"option3":null,"sku":"MAR013526E-TDF12","requires_shipping":true,"taxable":true,"featured_image":{"id":36494734884963,"product_id":7922504335459,"position":6,"created_at":"2026-08-06T11:03:05+08:00","updated_at":"2026-08-06T11:03:07+08:00","alt":null,"width":550,"height":550,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/221836d04dcc79ebab572413df0f65746aefea8a_50ce79b0-a7ad-4aa3-947d-19a48333a0e2.webp?v=1785985387","variant_ids":[44448740343907]},"available":true,"name":"iPhone 17 Pro AirX Tour de France Jersey Line-up - Trailhead Green","public_title":"Trailhead Green","options":["Trailhead Green"],"price":195000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"MAR013526E-TDF12","featured_media":{"alt":null,"id":27998032003171,"position":6,"preview_image":{"aspect_ratio":1.0,"height":550,"width":550,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/221836d04dcc79ebab572413df0f65746aefea8a_50ce79b0-a7ad-4aa3-947d-19a48333a0e2.webp?v=1785985387"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}];
$defaultVariant = {"id":43836214411363,"title":"Vero Black","option1":"Vero Black","option2":null,"option3":null,"sku":"MAR013524E-TDF12","requires_shipping":true,"taxable":true,"featured_image":{"id":34795731681379,"product_id":7922504335459,"position":1,"created_at":"2025-11-13T17:55:01+08:00","updated_at":"2025-11-13T17:55:03+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirX-4E-352-TDF12.png?v=1763027703","variant_ids":[43836214411363,43836215328867]},"available":true,"name":"iPhone 17 Pro AirX Tour de France Jersey Line-up - 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":"MAR013524E-TDF12","featured_media":{"alt":null,"id":26361143853155,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/AirX-4E-352-TDF12.png?v=1763027703"}},"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: "停產"
}