$product = {"id":7829056258147,"title":"iPhone 15 Plus SolidX (MagSafe 兼容) Tour de France Sprint","handle":"iphone-15-plus-solidx-magsafe-bumper-back-crossover-design-tdf14","description":null,"published_at":"2025-07-14T10:51:32+08:00","created_at":"2025-06-30T15:56:25+08:00","vendor":"RHINOSHIELD Taiwan B2B","type":"","tags":["10%","20%","30%","40%","50%","brand-Apple","designer","designer-tour-de-france","device-iPhone 15 Plus","merge","reseller-tour-de-france"],"price":145000,"price_min":145000,"price_max":145000,"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":43502755020899,"title":"Glacier Blue","option1":"Glacier Blue","option2":null,"option3":null,"sku":"MNS01296Z7-TDF14","requires_shipping":true,"taxable":true,"featured_image":{"id":34099454443619,"product_id":7829056258147,"position":2,"created_at":"2025-06-30T15:56:30+08:00","updated_at":"2025-06-30T15:56:32+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/194fdf3ed5c08451d1b6452f76dc7f456825e024.webp?v=1751270192","variant_ids":[43502755020899]},"available":true,"name":"iPhone 15 Plus SolidX (MagSafe 兼容) Tour de France Sprint - Glacier Blue","public_title":"Glacier Blue","options":["Glacier Blue"],"price":145000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"MNS01296Z7-TDF14","featured_media":{"alt":null,"id":25756126773347,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/194fdf3ed5c08451d1b6452f76dc7f456825e024.webp?v=1751270192"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43502755053667,"title":"Ocean Blue","option1":"Ocean Blue","option2":null,"option3":null,"sku":"MNS012960A-TDF14","requires_shipping":true,"taxable":true,"featured_image":{"id":34099455492195,"product_id":7829056258147,"position":4,"created_at":"2025-06-30T15:56:31+08:00","updated_at":"2025-06-30T15:56:33+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/d0d0e18fe2ebe7fd99ee333663490151315e2a8b.webp?v=1751270193","variant_ids":[43502755053667]},"available":true,"name":"iPhone 15 Plus SolidX (MagSafe 兼容) Tour de France Sprint - Ocean Blue","public_title":"Ocean Blue","options":["Ocean Blue"],"price":145000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"MNS012960A-TDF14","featured_media":{"alt":null,"id":25756127461475,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/d0d0e18fe2ebe7fd99ee333663490151315e2a8b.webp?v=1751270193"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43502755086435,"title":"Ash Grey","option1":"Ash Grey","option2":null,"option3":null,"sku":"MNS01296O8-TDF14","requires_shipping":true,"taxable":true,"featured_image":{"id":34099458048099,"product_id":7829056258147,"position":8,"created_at":"2025-06-30T15:56:33+08:00","updated_at":"2025-06-30T15:56:35+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/e22b2abe07636d46e0b00d5c2f626007287ea5bd.webp?v=1751270195","variant_ids":[43502755086435]},"available":true,"name":"iPhone 15 Plus SolidX (MagSafe 兼容) Tour de France Sprint - Ash Grey","public_title":"Ash Grey","options":["Ash Grey"],"price":145000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"MNS01296O8-TDF14","featured_media":{"alt":null,"id":25756128477283,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/e22b2abe07636d46e0b00d5c2f626007287ea5bd.webp?v=1751270195"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43502755119203,"title":"Black","option1":"Black","option2":null,"option3":null,"sku":"MNS0129652-TDF14","requires_shipping":true,"taxable":true,"featured_image":{"id":34099453821027,"product_id":7829056258147,"position":1,"created_at":"2025-06-30T15:56:29+08:00","updated_at":"2025-06-30T15:56:31+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a2db5e4969d6640acf0f0cb863bc782136c62389.webp?v=1751270191","variant_ids":[43502755119203]},"available":true,"name":"iPhone 15 Plus SolidX (MagSafe 兼容) Tour de France Sprint - Black","public_title":"Black","options":["Black"],"price":145000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"MNS0129652-TDF14","featured_media":{"alt":null,"id":25756126445667,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a2db5e4969d6640acf0f0cb863bc782136c62389.webp?v=1751270191"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a2db5e4969d6640acf0f0cb863bc782136c62389.webp?v=1751270191","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/194fdf3ed5c08451d1b6452f76dc7f456825e024.webp?v=1751270192","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/62ac2dccd07487c4f580b8405c9d9ba595c6b49b.webp?v=1751270193","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/d0d0e18fe2ebe7fd99ee333663490151315e2a8b.webp?v=1751270193","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/f2adedfad98ac032015b4557b7ff7e8eb2aec6c8.webp?v=1751270193","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/2e74d0f5bb577cdd3acaa598d0389b7a88a83318.webp?v=1751270194","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/358334c87c3d2d27c0489acaf7b8254fabbf08ff.webp?v=1751270194","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/e22b2abe07636d46e0b00d5c2f626007287ea5bd.webp?v=1751270195","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/0f2184aa3c78303da804df964499ef30dcf575d5.webp?v=1751270195","\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/cd5a5b709617cfeb4aa4dcefd8b7151c8a472584.webp?v=1751270196"],"featured_image":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a2db5e4969d6640acf0f0cb863bc782136c62389.webp?v=1751270191","options":["color"],"media":[{"alt":null,"id":25756126445667,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a2db5e4969d6640acf0f0cb863bc782136c62389.webp?v=1751270191"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a2db5e4969d6640acf0f0cb863bc782136c62389.webp?v=1751270191","width":2000},{"alt":null,"id":25756126773347,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/194fdf3ed5c08451d1b6452f76dc7f456825e024.webp?v=1751270192"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/194fdf3ed5c08451d1b6452f76dc7f456825e024.webp?v=1751270192","width":2000},{"alt":null,"id":25756127133795,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/62ac2dccd07487c4f580b8405c9d9ba595c6b49b.webp?v=1751270193"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/62ac2dccd07487c4f580b8405c9d9ba595c6b49b.webp?v=1751270193","width":2000},{"alt":null,"id":25756127461475,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/d0d0e18fe2ebe7fd99ee333663490151315e2a8b.webp?v=1751270193"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/d0d0e18fe2ebe7fd99ee333663490151315e2a8b.webp?v=1751270193","width":2000},{"alt":null,"id":25756127789155,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/f2adedfad98ac032015b4557b7ff7e8eb2aec6c8.webp?v=1751270193"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/f2adedfad98ac032015b4557b7ff7e8eb2aec6c8.webp?v=1751270193","width":2000},{"alt":null,"id":25756128051299,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/2e74d0f5bb577cdd3acaa598d0389b7a88a83318.webp?v=1751270194"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/2e74d0f5bb577cdd3acaa598d0389b7a88a83318.webp?v=1751270194","width":2000},{"alt":null,"id":25756128280675,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/358334c87c3d2d27c0489acaf7b8254fabbf08ff.webp?v=1751270194"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/358334c87c3d2d27c0489acaf7b8254fabbf08ff.webp?v=1751270194","width":2000},{"alt":null,"id":25756128477283,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/e22b2abe07636d46e0b00d5c2f626007287ea5bd.webp?v=1751270195"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/e22b2abe07636d46e0b00d5c2f626007287ea5bd.webp?v=1751270195","width":2000},{"alt":null,"id":25756129034339,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/0f2184aa3c78303da804df964499ef30dcf575d5.webp?v=1751270195"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/0f2184aa3c78303da804df964499ef30dcf575d5.webp?v=1751270195","width":2000},{"alt":null,"id":25756129722467,"position":10,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/cd5a5b709617cfeb4aa4dcefd8b7151c8a472584.webp?v=1751270196"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/cd5a5b709617cfeb4aa4dcefd8b7151c8a472584.webp?v=1751270196","width":2000}],"requires_selling_plan":false,"selling_plan_groups":[],"content":null}; $isMerge = null; $variants = [{"id":43502755020899,"title":"Glacier Blue","option1":"Glacier Blue","option2":null,"option3":null,"sku":"MNS01296Z7-TDF14","requires_shipping":true,"taxable":true,"featured_image":{"id":34099454443619,"product_id":7829056258147,"position":2,"created_at":"2025-06-30T15:56:30+08:00","updated_at":"2025-06-30T15:56:32+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/194fdf3ed5c08451d1b6452f76dc7f456825e024.webp?v=1751270192","variant_ids":[43502755020899]},"available":true,"name":"iPhone 15 Plus SolidX (MagSafe 兼容) Tour de France Sprint - Glacier Blue","public_title":"Glacier Blue","options":["Glacier Blue"],"price":145000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"MNS01296Z7-TDF14","featured_media":{"alt":null,"id":25756126773347,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/194fdf3ed5c08451d1b6452f76dc7f456825e024.webp?v=1751270192"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43502755053667,"title":"Ocean Blue","option1":"Ocean Blue","option2":null,"option3":null,"sku":"MNS012960A-TDF14","requires_shipping":true,"taxable":true,"featured_image":{"id":34099455492195,"product_id":7829056258147,"position":4,"created_at":"2025-06-30T15:56:31+08:00","updated_at":"2025-06-30T15:56:33+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/d0d0e18fe2ebe7fd99ee333663490151315e2a8b.webp?v=1751270193","variant_ids":[43502755053667]},"available":true,"name":"iPhone 15 Plus SolidX (MagSafe 兼容) Tour de France Sprint - Ocean Blue","public_title":"Ocean Blue","options":["Ocean Blue"],"price":145000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"MNS012960A-TDF14","featured_media":{"alt":null,"id":25756127461475,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/d0d0e18fe2ebe7fd99ee333663490151315e2a8b.webp?v=1751270193"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43502755086435,"title":"Ash Grey","option1":"Ash Grey","option2":null,"option3":null,"sku":"MNS01296O8-TDF14","requires_shipping":true,"taxable":true,"featured_image":{"id":34099458048099,"product_id":7829056258147,"position":8,"created_at":"2025-06-30T15:56:33+08:00","updated_at":"2025-06-30T15:56:35+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/e22b2abe07636d46e0b00d5c2f626007287ea5bd.webp?v=1751270195","variant_ids":[43502755086435]},"available":true,"name":"iPhone 15 Plus SolidX (MagSafe 兼容) Tour de France Sprint - Ash Grey","public_title":"Ash Grey","options":["Ash Grey"],"price":145000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"MNS01296O8-TDF14","featured_media":{"alt":null,"id":25756128477283,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/e22b2abe07636d46e0b00d5c2f626007287ea5bd.webp?v=1751270195"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43502755119203,"title":"Black","option1":"Black","option2":null,"option3":null,"sku":"MNS0129652-TDF14","requires_shipping":true,"taxable":true,"featured_image":{"id":34099453821027,"product_id":7829056258147,"position":1,"created_at":"2025-06-30T15:56:29+08:00","updated_at":"2025-06-30T15:56:31+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a2db5e4969d6640acf0f0cb863bc782136c62389.webp?v=1751270191","variant_ids":[43502755119203]},"available":true,"name":"iPhone 15 Plus SolidX (MagSafe 兼容) Tour de France Sprint - Black","public_title":"Black","options":["Black"],"price":145000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"MNS0129652-TDF14","featured_media":{"alt":null,"id":25756126445667,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/a2db5e4969d6640acf0f0cb863bc782136c62389.webp?v=1751270191"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}]; $defaultVariant = {"id":43502755020899,"title":"Glacier Blue","option1":"Glacier Blue","option2":null,"option3":null,"sku":"MNS01296Z7-TDF14","requires_shipping":true,"taxable":true,"featured_image":{"id":34099454443619,"product_id":7829056258147,"position":2,"created_at":"2025-06-30T15:56:30+08:00","updated_at":"2025-06-30T15:56:32+08:00","alt":null,"width":2000,"height":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/194fdf3ed5c08451d1b6452f76dc7f456825e024.webp?v=1751270192","variant_ids":[43502755020899]},"available":true,"name":"iPhone 15 Plus SolidX (MagSafe 兼容) Tour de France Sprint - Glacier Blue","public_title":"Glacier Blue","options":["Glacier Blue"],"price":145000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":"MNS01296Z7-TDF14","featured_media":{"alt":null,"id":25756126773347,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/b2b.rhinoshield.tw\/cdn\/shop\/files\/194fdf3ed5c08451d1b6452f76dc7f456825e024.webp?v=1751270192"}},"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: "停產" }