DIORBOTANICAO S1I-4500

Discover Dior DiorBotanicaO S1I eyewear , a symbol of elegance and sophistication. Part of the prestigious DiorBotanicaO collection, these acetate frames are available in a range of colors. With their trendy round shape, specially designed for men, these glasses combine simplicity and refinement. Every detail is meticulously thought out, including the Christian Dior logo in full letters on the temples, affirming the brand's distinctive style.
CA$409.00
CA$450.00
Save CA$41.00
(function(){ const TAG = 'spz-custom-lamb-add-btn'; class SpzCustomLambAddBtn extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.action_ = null; this.selected_variant = '{"id":"47eb4855-7f2b-4fd9-a5d3-9eddc1d8f1bb","product_id":"7451229b-b5c7-498d-b0af-3a2805bb0de7","title":"","weight_unit":"kg","inventory_quantity":1,"sku":"-A0021563","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":409,"min_quantity":1}],"weight":"0","compare_at_price":"450","price":"409","retail_price":"450","available":true,"url":"\/products\/diorbotanicao-s1i-4500?variant=47eb4855-7f2b-4fd9-a5d3-9eddc1d8f1bb","available_quantity":1,"options":[],"off_ratio":9,"flashsale_info":[],"sales":0}'; this.lens_process_id = ""; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.getLambLensSteps_(true); this.setupAction_(); } mountCallback() { document.addEventListener('dj.variantChange', (event) => { const variant = event.detail.selected; if (variant.product_id == '7451229b-b5c7-498d-b0af-3a2805bb0de7') { this.selected_variant = JSON.stringify(variant); } }); } fetchLambLensSteps() { const lens_process_id = location.search.replace('?', '').split('&').find(v => v.includes('lens_process_id')); const template_id = location.search.replace('?', '').split('&').find(v => v.includes('template_id')); const stepsUrl = '/api/fireant/product/7451229b-b5c7-498d-b0af-3a2805bb0de7/steps' + ((lens_process_id ? `?${lens_process_id}` : '') || (template_id ? `?${template_id}` : '')); return fetch(stepsUrl).then((res)=>{ return res.json(); }).then((data)=>{ return data; }) } showProductBtn() { var addToCart = document.getElementById('add_to_cart_normal'); var productQuantityBtn = document.getElementById('product_info_quantity_normal'); addToCart && addToCart.classList.remove('hidden'); productQuantityBtn && productQuantityBtn.classList.remove('hidden'); } getLambLensSteps_(isInit) { try{ this.fetchLambLensSteps().then((data)=>{ if(data.errors) { if(isInit){ this.renderBtn(false); this.showProductBtn(); } }else{ if(isInit){ this.lens_process_id = data?.lens_process_id; let frameOnlyArr = data?.prescription_types?.options.filter((option)=>{ return option.prescription_type === 'Frame Only' }); let frameOnlyObj = frameOnlyArr.length > 0 ? frameOnlyArr[0] : {}; let available = true; if(available && (frameOnlyObj?.frame_only_display_at == 'product_detail' || frameOnlyObj?.frame_only_display_at == 'all')){ this.renderBtn({ ...frameOnlyObj, process_type: data.process_type }); }else{ this.renderBtn({ process_type: data.process_type }); } } } }); }catch(e){ this.renderBtn(false); this.showProductBtn(); } } renderBtn = (isRenderProcessBtn) => { return this.templates_ .findAndRenderTemplate(this.element, isRenderProcessBtn) .then((el) => { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); this.element.appendChild(el); }); } handleClickFrameOnlyBtn_ = async () => { try { const reqBody = { product_id: "7451229b-b5c7-498d-b0af-3a2805bb0de7", variant_id: JSON.parse(this.selected_variant)?.id, quantity: 1, properties: { lens_processing_id: this.lens_process_id, prescription_type: "Frame Only" } } const data = await this.xhr_.fetchJson('/api/fireant/v2/customize_cart', { method: "post", body: reqBody }); if(data.state === 'success') { this.atc_loading_ = false; this.element.removeAttribute('atc-loading'); this.triggerEvent_("dj.addToCart", data); window.location.href = "/cart"; } else { this.atc_loading_ = false; this.element.removeAttribute('atc-loading'); } } catch (e) { this.atc_loading_ = false; this.element.removeAttribute('atc-loading'); const toast = SPZCore.Dom.scopedQuerySelector(document, `#error-toast`); toast && SPZ.whenApiDefined(toast).then((api) => { e.then((result)=>{ api.showToast(result?.errors[0] || 'Unknown error'); }) }); } } trackAddToCart = () => { const params = { business_type: "product_plugin", function_name: "prescription_lens", plugin_name: "prescription_lens", module: "apps", tab_name: "process_btn", event_type: "click", event_developer: "jozy", event_info: JSON.stringify({ action_type: "frame_only_add_to_cart", product_id: '"7451229b-b5c7-498d-b0af-3a2805bb0de7"', process_id: this.lens_process_id, process_type: "glasses", element_type: "button", element_name: "frame_only_btn" }) } window.spzutm && window.spzutm.registerParams('add_to_cart', params ); } setupAction_ = () => { this.registerAction('handleClickBtn', (invocation) => { this.saveAllFormProperties_(); const glassesInfo = { product:{ title: "DIORBOTANICAO S1I-4500", id: "7451229b-b5c7-498d-b0af-3a2805bb0de7", image: {"src":"\/\/img.staticdj.com\/bf52a6c79c505192f0975f6b5d07e765.webp","path":"bf52a6c79c505192f0975f6b5d07e765.webp","width":900,"height":450,"alt":"","aspect_ratio":2}, selected_variant: JSON.parse(this.selected_variant) }, atcType: 'add_lens' }; const tempElement = document.getElementById('process-request-script'); tempElement && SPZ.whenApiDefined(tempElement).then(async (api) => { await api.requestLensProcess(glassesInfo, invocation.args.process_type); }); setTimeout(() => { const proceeBtn = document.getElementById('lens_add_to_cart'); proceeBtn && proceeBtn.classList.remove('pointer-events-none'); }, 3000); }); this.registerAction('handleClickFrameOnlyBtn', (invocation) => { this.trackAddToCart(); this.atc_loading_ = true; this.element.setAttribute('atc-loading',""); this.handleClickFrameOnlyBtn_(); }); } saveAllFormProperties_(){ const formEntries = this.getFormData_(); const properties = this.getFormAllProperties_(formEntries); // 获取的form所有properties存全局 window.app_lamb_form_properties = properties; } getFormData_() { const form = this.element.closest("form"); const formData = new FormData(form); const formEntries = Object.fromEntries(formData.entries()); return formEntries; } getFormAllProperties_(obj){ const result = {}; Object.entries(obj).forEach(([key, value]) => { if (key.startsWith("properties")) { result[key.substring(11, key.length - 1)] = value; } }); return result; } triggerEvent_(name, params) { const event = SPZUtils.Event.create( this.win, name, params, {bubbles: true} ); this.element.dispatchEvent(event); } isLayoutSupported = (layout) => { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomLambAddBtn) })()
Free worldwide shipping
Free returns
Sustainably made
Secure payments
people are viewing this right now
Description

  • Clear  Organic  DEMO lenses
  • Metal CD logo placed on the temples
  • Suitable for prescription
  • Made in Italy
  • Rx-able:  Yes
  •  Gender: MAN
  •  Type: Eyeglass
  •  Release: Summer2024
  •  Shape: Square
  • Colour: Trasparent Grey
  •  Type: Full rim
  •  Flex:  No
  •  Front material: Acetate
  •  Temples Materials: Acetate
  •  Lenses: Organic
Details
window.__bright__ = { getMetaData_: () => { const metaData = [ {"value": "", "title": "Size", "owner_resource": "product", "key": "size"}, {"value": "Trasparent Grey", "title": "Color", "owner_resource": "product", "key": "color"}, {"value": "", "title": "Weight", "owner_resource": "product", "key": "weight"}, {"value": "Acetate", "title": "Material", "owner_resource": "product", "key": "material"}, {"value": "FULL RIM", "title": "Rim", "owner_resource": "product", "key": "rim"}, {"value": "M", "title": "Gender", "owner_resource": "product", "key": "gender"}, {"value": "Y", "title": "RXable", "owner_resource": "product", "key": "rxable"}, {"value": "SQUARE", "title": "Shape", "owner_resource": "product", "key": "shape"}, ]; return metaData; }, getBlockData_: () => { const blockSettingData = { "frameWidth": { "value": "", }, "lensWidth": { "value": "55", }, "bridgeWidth": { "value": "17", }, "lensHeight": { "value": "44", }, "templeLength": { "value": "145", } }; return blockSettingData; } }; (function(){ const TAG = 'spz-custom-structured-logic'; class SpzCustomStructuredLogic extends SPZ.BaseElement { constructor(element) { super(element); this.xhr_ = SPZServices.xhrFor(this.win); } buildCallback = () => { this.setupAction_(); this.unit = 'mm'; this.variantChange_(); this.selectedData = this.getProductData_(); this.init_(); } static deferredMount() { return false; } isLayoutSupported = (layout) => { return layout == SPZCore.Layout.CONTAINER; } setupAction_ = () => { this.registerAction('changeUnit', (invocation) => { const changeUnit = invocation.args.data; this.unit = changeUnit; this.init_(); }); } init_ = () => { this.meteData_ = window.__bright__.getMetaData_(); this.blockData_ = window.__bright__.getBlockData_(); this.renderParameter_(); this.renderStructuredImg_(); this.renderTempleLength_(); this.renderBtn_(); } getProductData_ = () => { let pJson = document.getElementById('product-json'); if (pJson) { return JSON.parse(pJson.innerHTML); } if (typeof $ === 'function') { return $(document).data('djproduct'); } return undefined; } renderParameter_ = () => { const structuredParameterContainerRender = document.getElementById('structured-parameter-container-render'); SPZ.whenApiDefined(structuredParameterContainerRender).then(async (api) => { const parameter = []; this.meteData_.forEach(meta => { if (meta.owner_resource === 'product') { parameter.push({ title: meta.title, value: meta.value }); } else { parameter.push({ title: meta.title, value: meta.value[this.selectedData.selected.id] }); } }); api.render(parameter); }); } renderStructuredImg_ = () => { const glassesImgRender = document.getElementById('glasses-img-render'); SPZ.whenApiDefined(glassesImgRender).then(async (api) => { const parameter = {}; parameter.unit = this.unit; Object.keys(this.blockData_).forEach(key => { if (typeof this.blockData_[key].value === 'string') { parameter[key] = this.blockData_[key].value; } else { parameter[key] = this.blockData_[key].value[this.selectedData.selected.id]; } }); api.render(parameter); }); } renderTempleLength_ = () => { const lensImgRender = document.getElementById('lens-img-render'); SPZ.whenApiDefined(lensImgRender).then(async (api) => { let parameter = {}; parameter.unit = this.unit; if (this.blockData_.templeLength.value) { if (typeof this.blockData_.templeLength.value === 'string') { parameter.value = this.blockData_.templeLength.value; } else { parameter.value = this.blockData_.templeLength.value[this.selectedData.selected.id]; } } api.render(parameter); }); } renderBtn_ = () => { const conversionBtnRender = document.getElementById('conversion-btn-render'); conversionBtnRender && SPZ.whenApiDefined(conversionBtnRender).then(async (api) => { const parameter = {}; Object.keys(this.blockData_).forEach(key => { if (typeof this.blockData_[key].value === 'string') { parameter[key] = this.blockData_[key].value; } else { parameter[key] = this.blockData_[key].value[this.selectedData.selected.id]; } }); parameter.unit = this.unit; api.render(parameter); }) } variantChange_ = () => { document.addEventListener('dj.variantChange', (e) => { this.init_(); this.selectedData = e.detail; }); document.addEventListener('dj.editor.update', (e) => { this.init_(); }); } } SPZ.defineElement(TAG, SpzCustomStructuredLogic) })();