${(function(){ const get_random_six_digits = () => { return Math.random().toString().slice(-6) }; const wholesale_enabled = false; const setting_product_image_display = "133.33%"; const product_image = data.image; const secondary_image = data.secondImage; const image_width = product_image.width; let image_height = product_image.height; if(setting_product_image_display == '100%'){ image_height = image_width }else if(setting_product_image_display == '133.33%'){ image_height = image_width * 1.3333; }; const product_image_hover_on = true && !!secondary_image.src; const has_save_label = true && ((+data.compare_at_price) > (+data.price)); const is_single_variant = data.variants.length == 1; const min_price_variant_href = (data.min_price_variant && data.min_price_variant.available) ? data.min_price_variant.withinUrl : data.withinUrl; const retail_price_max = data.retail_price_max || data.compare_at_price_max; const THUMBNAILS_MAX_SIZE = 3; const thumbnails = data.thumbVariants.slice(0, THUMBNAILS_MAX_SIZE); const image_wrap_id = 'image_wrap_' + get_random_six_digits(); const image_carousel_id = 'image_carousel_' + get_random_six_digits(); const thumbnails_selector_id = 'thumbnails_selector_' + get_random_six_digits(); const form_id = 'form_' + get_random_six_digits(); const mixed_wholesale = data.mixed_wholesale; return `
${ data.available ? `${ (+data.compare_at_price > +data.price) ? `Enregistrer
` : '' }` : "\u00c9puis\u00e9" }
À lot mixte
${data.title}
${ data.price_min != data.price_max ? `de
` : `
` }
+${data.remainInvisibleThumbCount}
` })()}
Connexion
Créer un compte
${data.data && data.data.count}
Accueil
Nouveauté
Robe de mariée
Jupe midi
Robe
Robe de cocktail
Robe portefeuille
Robe courte
Robe midi
Robe asymétrique
Costume homme
Petit costume
Fille
Garçon
Cintres de Mariage
Plus de liens
${(function(){ const formatLinks = (links) => { return links.map(link => { link.tag = tags[link.title.toUpperCase()] || {}; link.target_attr = link.target == '_blank' ? 'target="_blank"' : ''; link.href_attr = link.url ? `href="${link.url}"` : ''; if(link.children && link.children.length){ link.children = formatLinks(link.children); } return link; }) }; const tags = "{}"; let linkList = [ { id: 65289963, title: "Accueil", url: "\/", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 65289965, title: "Nouveaut\u00e9", url: "\/collections\/nouveaute", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 65289967, title: "Robe de mari\u00e9e", url: "\/collections\/robe-de-mariee", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 65289969, title: "Jupe midi", url: "\/collections\/jupe-midi", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 65289971, title: "Robe", url: "", target: "", levels: 1, product0: { id: (null) }, children: [ { title: "Robe de cocktail", url: "\/collections\/robe-de-cocktail", target: "", levels: 0, children: [ ] }, { title: "Robe portefeuille", url: "\/collections\/robe-portefeuille", target: "", levels: 0, children: [ ] }, { title: "Robe courte ", url: "\/collections\/robe-courte", target: "", levels: 0, children: [ ] }, { title: "Robe midi", url: "\/collections\/robe-midi", target: "", levels: 0, children: [ ] }, { title: "Robe asym\u00e9trique", url: "\/collections\/robe-asymetrique", target: "", levels: 0, children: [ ] }, ] }, { id: 65289983, title: "Costume homme", url: "\/collections\/costume-homme", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 65289985, title: "Petit costume", url: "", target: "", levels: 1, product0: { id: (null) }, children: [ { title: "Fille", url: "\/collections\/fille", target: "", levels: 0, children: [ ] }, { title: "Gar\u00e7on", url: "\/collections\/garcon", target: "", levels: 0, children: [ ] }, ] }, { id: 65289991, title: "Cintres de Mariage", url: "\/collections\/cintres-de-mariage", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, ].slice(offset); linkList = formatLinks(linkList); const hasChild = linkList.some(link => !!(link.children && link.children.length || link.product0.id)); return `
${link.title}
${link.tag.label}
${second_link.title}
${second_link.tag.label}
${third_links.title}
${third_links.tag.label}
${link.title}
${link.tag.label}
` })()}
Accueil
Nouveauté
Robe de mariée
Jupe midi
Robe
Robe de cocktail
Robe portefeuille
Robe courte
Robe midi
Robe asymétrique
Costume homme
Petit costume
Fille
Garçon
Cintres de Mariage
Plus de liens
${(function(){ const formatLinks = (links) => { return links.map(link => { link.tag = tags[link.title.toUpperCase()] || {}; link.target_attr = link.target == '_blank' ? 'target="_blank"' : ''; link.href_attr = link.url ? `href="${link.url}"` : ''; if(link.children && link.children.length){ link.children = formatLinks(link.children); } return link; }) }; const tags = "{}"; let linkList = [ { id: 65289963, title: "Accueil", url: "\/", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 65289965, title: "Nouveaut\u00e9", url: "\/collections\/nouveaute", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 65289967, title: "Robe de mari\u00e9e", url: "\/collections\/robe-de-mariee", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 65289969, title: "Jupe midi", url: "\/collections\/jupe-midi", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 65289971, title: "Robe", url: "", target: "", levels: 1, product0: { id: (null) }, children: [ { title: "Robe de cocktail", url: "\/collections\/robe-de-cocktail", target: "", levels: 0, children: [ ] }, { title: "Robe portefeuille", url: "\/collections\/robe-portefeuille", target: "", levels: 0, children: [ ] }, { title: "Robe courte ", url: "\/collections\/robe-courte", target: "", levels: 0, children: [ ] }, { title: "Robe midi", url: "\/collections\/robe-midi", target: "", levels: 0, children: [ ] }, { title: "Robe asym\u00e9trique", url: "\/collections\/robe-asymetrique", target: "", levels: 0, children: [ ] }, ] }, { id: 65289983, title: "Costume homme", url: "\/collections\/costume-homme", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 65289985, title: "Petit costume", url: "", target: "", levels: 1, product0: { id: (null) }, children: [ { title: "Fille", url: "\/collections\/fille", target: "", levels: 0, children: [ ] }, { title: "Gar\u00e7on", url: "\/collections\/garcon", target: "", levels: 0, children: [ ] }, ] }, { id: 65289991, title: "Cintres de Mariage", url: "\/collections\/cintres-de-mariage", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, ].slice(offset); linkList = formatLinks(linkList); const hasChild = linkList.some(link => !!(link.children && link.children.length || link.product0.id)); return `
${link.title}
${link.tag.label}
${second_link.title}
${second_link.tag.label}
${third_links.title}
${third_links.tag.label}
${link.title}
${link.tag.label}
` })()}
Connexion
Créer un compte
${data.data && data.data.count}
${(function(){ if (data === undefined || typeof data !== 'string' || data == '') return '
'; const keyword = encodeURIComponent(data); return `
Voir plus
Votre recherche de '${data}' n'a donné aucun résultat.
` })()}
Accueil
Nouveauté
Robe de mariée
Jupe midi
Robe
Robe
Robe de cocktail
Robe portefeuille
Robe courte
Robe midi
Robe asymétrique
Costume homme
Petit costume
Petit costume
Fille
Garçon
Cintres de Mariage
Connexion
Créer un compte
(function(){ let w = window.innerWidth; function setHeaderCssVar() { const headerEle = document.getElementById('shoplaza-section-header'); if(!headerEle){ return }; document.body.style.setProperty('--window-height', `${window.innerHeight}px`); document.body.style.setProperty('--header-height', `${headerEle.clientHeight}px`); const mdScorllHideEle = headerEle.querySelector('.header__mobile .header__scroll_hide'); if (mdScorllHideEle) { document.body.style.setProperty('--header-scroll-hide-height-md', `${mdScorllHideEle.clientHeight}px`); } const pcScorllHideEle = headerEle.querySelector('.header__desktop .header__scroll_hide'); if (pcScorllHideEle) { document.body.style.setProperty('--header-scroll-hide-height-pc', `${pcScorllHideEle.clientHeight}px`); } } function handlResize() { if(w == window.innerWidth){return}; w = window.innerWidth; setHeaderCssVar(); }; function init(){ setHeaderCssVar(); window.removeEventListener('resize', window._theme_header_listener) window._theme_header_listener = handlResize; window.addEventListener('resize', window._theme_header_listener); } init(); })();
Connexion
Veuillez saisir votre e-mail et votre mot de passe :
${data.errors && data.errors[0]}
E-mail
L'e-mail est requis
Veuillez saisir une adresse e-mail valide.
Mot de passe
Mot de passe requis.
Le mot de passe doit comporter entre 6 et 16 caractères.
mot de passe oublié?
mot de passe oublié?
S'identifier
${ Object.keys((data && data.login_setting) || {}) .map(type => `
`) .join("") }
Chariot
Votre panier est vide
Continuer vos achats
${item.product_title}
${item.options.map(option => option.value).join('/')}
${propertie.name}/${propertie.isImage ? `
Voir l'image
` : propertie.value}
Cadeau gratuit
À lot mixte
*${item.quantity}
${item.item_text}
${discount_item.title}
(-
)
Le total:
${function() { const textArray = ("Enregistrer {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `
${text}
`; } return `
${text}
`; }).join(''); }()}
${function() { const textArray = ("Enregistrer {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `
${text}
`; } return `
${text}
`; }).join(''); }()}
${discount_application.title}:
-
${data.invalid_msg}
Vérifier
Taxes et expédition calculées à la caisse
${data.invalid_msg}
Le total:
${function() { const textArray = ("Enregistrer {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `
${text}
`; } return `
${text}
`; }).join(''); }()}
${function() { const textArray = ("Enregistrer {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `
${text}
`; } return `
${text}
`; }).join(''); }()}
${function() { const textArray = ("Enregistrer {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `
${text}
`; } return `
${text}
`; }).join(''); }()}
${discount_application.title}:
-
Vérifier
${data.invalid_msg}
Vérifier
Taxes et expédition calculées à la caisse
Total:
${discount_application.title}:
-
Le total:
Vérifier
Taxes et expédition calculées à la caisse
const summaryStickyRender = document.querySelector('#cart-drawer-summary-sticky-render'); if (summaryStickyRender) { document.body.style.setProperty('--cart-drawer-summary-sticky-height', summaryStickyRender.clientHeight + 'px'); }
Voir le panier
${function(){ const productData = data.product; let product_change_event = '', mouse_over_event = ' '; mouse_out_event = ''; const product_options = productData.options.filter(Boolean) || []; for (let opt of product_options) { const nameEscape = opt.name.replace(/\/|\\|\s|\'|\"|`|\<|\>/g, '') product_change_event = product_change_event + `quick-shop-selected-variant-${opt.id}.rerender(data=event.selectedValues.${opt.name});`; mouse_out_event = mouse_out_event + `quick-shop-selected-variant-${opt.id}.rerender(data=event.selectData.${opt.name});`; mouse_over_event = mouse_over_event + `@${nameEscape}Mouseover="quick-shop-selected-variant-${opt.id}.rerender(data=event);"`; } const selectedVariant = productData.variants.find(v => v.available) || productData.variants[0]; const statusLan = ((selectedVariant && !selectedVariant.available) || (!selectedVariant && !productData.available)) ? "Solder" : "Ajouter au panier"; return `
${statusLan}
` }()}
${function(){ const currentSelectVariant = data.variant; const defaultVariant = (data.product && data.product.variants && data.product.variants[0]); const variantData = currentSelectVariant || defaultVariant || data; const retail_price = variantData.retail_price || 0; return `
Détail
` }()}
${function(){ const wholesale_enabled = false; const qty = data.quantity || 1; const currentSelectVariant = data.variant; const defaultVariant = (data.product && data.product.variants && data.product.variants[0]); const productVariant = null; const variantData = currentSelectVariant || defaultVariant || productVariant; const wholesale_price = variantData.wholesale_price || []; if(wholesale_enabled && wholesale_price.length > 0) { let wholesaleIndex = wholesale_price.findIndex(item => { return item.min_quantity > qty; }); if(wholesaleIndex < 0){ wholesaleIndex = wholesale_price.length - 1; }else if(wholesaleIndex > 0){ wholesaleIndex = wholesaleIndex - 1; } const wholesalePrice = wholesale_price[wholesaleIndex] || ''; return `
` }else { const price = variantData && variantData.price; return price != undefined ? `
` : '
'; } }()}
${function() { let variantImageShowed = false; const currentProduct = data.product; return (currentProduct.options || []).map((option, index) => { const optionName = option.name || ''; const optionId = option.id || ''; const position = `option${index + 1}`; let isThumbImage = false; if (currentProduct.need_variant_image && !variantImageShowed) { const variantNames = ["color"] || []; for (let i = 0, len = variantNames.length; i < len; i++) { const name = variantNames[i].toLowerCase(); if (name === optionName.toLowerCase()) { isThumbImage = true; variantImageShowed = true; } } } const variantType = "button"; const thumbStyle = "image_with_text"; return `
${optionName}:
${option.values.map((value, idx) => { const selected = data.selectedValues[optionName] == value ? 'checked' : ''; let thumbImage = null; if (isThumbImage) { const variants = currentProduct.variants; for (let i = 0, len = variants.length; i < len; i++) { const variant = variants[i]; if (variant[position] == value && thumbImage == null) { thumbImage = variant.image; break; } } } return `
${value}
` }).join('')}
${optionName}
${option.values.map(value => { const selected = data.selectedValues[optionName] == value ? 'selected' : ''; return `
${value}
` }).join('')}
` }).join(''); }()}
${data.originData && data.originData.value || data.value}