- 01 70 61 03 66
- Accessoires
- Mon compte
- Accessoires Photo
- Blog
- Contactez-nous
Menu Rechercher
Panier
Photo24
-
Panier
Vous n'avez aucun article dans votre panier
-
Bonjour Mon compte
Menu
- Optiques
- Filtres
- Sacs Photo
- Trépieds
- Mémoires
- Alimentation
- Éclairage
- Vidéo
- Autres
Vous n'avez aucun article dans votre panier
Acheter chez Photo24
Qui sommes-nous?
Garantie
Suivez-nous
Mentions légales et politique de confidentialité | Cookies | Contactez-nous
Boutique de photographie
Irix Lens Irix Cine LensesFlash Cobra NikonFlash Cobra CanonObjectifs Irix
© 2003-2024 Photo24. Tous les droits réservés.
(' + votes_count + ')
'; } function getStickers(item) { var sticker = ''; if (item.free_shipping) { sticker = sticker + 'Envoi GRATUIT'; } if (item.is_sale) { sticker = sticker + '' + item.discount + '%'; } return sticker; } function translatePromos(label) { switch (label) { case 'free_shipping': label = 'Expédition gratuite '; break; case 'is_sale': label = 'En promo '; break; default: break; } return label; } function htmlSubstring(s, n) { var m, r = /<([^>\s]*)[^>]*>/g, stack = [], lasti = 0, result = ''; //for each tag, while we don't have enough characters while ((m = r.exec(s)) && n) { //get the text substring between the last tag and this one var temp = s.substring(lasti, m.index).substr(0, n); //append to the result and count the number of characters added result += temp; n -= temp.length; lasti = r.lastIndex; if (n) { result += m[0]; if (m[1].indexOf('/') === 0) { //if this is a closing tag, than pop the stack (does not account for bad html) stack.pop(); } else if (m[1].lastIndexOf('/') !== m[1].length - 1) { //if this is not a self closing tag than push it in the stack stack.push(m[1]); } } } //add the remainder of the string, if needed (there are no more tags in here) result += s.substr(lasti, n); //fix the unclosed tags while (stack.length) { result += '' + stack.pop() + '>'; } return result; } function openMobileSearch() { searchMobile.start(); falMobile.toggleClass("fal-hidden fal-visible"); jQuery('.fal-mobile__searchbox__dfclassic').focus(); jQuery('body').addClass('modal-open'); if (jQuery('#fal-mobile__searchbox__dfclassic').val().length) { showSearchMobile(); } searchInputMobile.focus(); return false; } var searchCreated; jQuery(document).ready(function () { startMobileSearch(); searchInput.click(function() { showSearch(); if (searchDesktop.helper == null) { startDesktopSearch(); } }); searchInput.on('input', function () { if (this.value.length) { showSearch(); } else { hideSearch(); } }); searchInputMobile.on('input', function () { if (this.value.length) { showSearchMobile(); console.log('input mobile'); } else { hideSearchMobile(); } }); searchInputClearbutton.click(function () { hideSearchMobile(); }); searchInputClosebutton.click(function () { falMobile.toggleClass("fal-hidden fal-visible"); jQuery('body').removeClass('modal-open'); }); jQuery(".toggle-filters").click(function () { falMobile.toggleClass("filtering"); jQuery('.fal-mobile__aside').toggle(); }); jQuery('#search_mini_form_mobile').submit(function () { searchInputMobile.blur(); return false; }); var q = getUrlParameter('q'); var keyword = '' if (q && q.length > 0) { if (jQuery('.logo-wrapper--mobile').hasClass('mobile-enabled')) { jQuery('#fal-mobile__searchbox__dfclassic').val(jQuery('#search-input').val()); jQuery('#header-search').click(); } else { jQuery('#searching-for').text(jQuery('#search-input').val()); showSearch(); jQuery('#search-input').click(); } } else { } }); var searchInputMobile = jQuery('#fal-mobile__searchbox__dfclassic'); var searchInputClearbutton = jQuery('#search-mobile-clear'); var searchInputClosebutton = jQuery('#search-mobile-close'); var falMobile = jQuery('.fal-mobile'); var suggestContent = jQuery('#suggest-content'); var mainContainer = jQuery('.main-container:not(#suggest-content)'); var searchInput = jQuery('#search-input'); var searchFormA = jQuery('#search_mini_form a'); var searchFormButton = jQuery('#search_mini_form .button'); var searchingFor = jQuery('#searching-for'); function showSearchMobile() { searchInputClearbutton.show(); searchInputClosebutton.hide(); } function hideSearchMobile() { clearSearch(); searchMobile.helper.setQuery('').clearRefinements().search(); searchInputClearbutton.hide(); searchInputClosebutton.show(); } function showSearch() { searchingFor.html(searchInput.val()); suggestContent.show(); mainContainer.hide(); searchFormA.addClass('ic-close'); } function clearSearch() { searchingFor.html(''); window.history.pushState("object or string", "Title", "/"+window.location.href.substring(window.location.href.lastIndexOf('/') + 1).split("?")[0]); } function hideSearch() { clearSearch(); searchDesktop.helper.setQuery('').clearRefinements().search(); searchInput.val(""); mainContainer.show(); suggestContent.hide(); searchFormA.removeClass('ic-close'); } suggestContent.insertAfter(mainContainer); var searchDesktop = instantsearch({ appId: '89Y34Z954P', apiKey: '9c335217376248ea39700ce12a9e69a3', indexName: 'live_products_17', routing: false, searchFunction: function(helper) { var query = searchDesktop.helper.state.query; searchTaxonomies.helper.setQuery(query); searchTaxonomies.helper.search(); helper.search(); searchInput.focus(); }, }); var searchTaxonomies = instantsearch({ appId: '89Y34Z954P', apiKey: '9c335217376248ea39700ce12a9e69a3', indexName: 'live_taxonomies_17', routing: false, searchFunction: function(helper) { helper.search(); }, }); function startDesktopSearch() { jQuery('#search_mini_form').submit(function () { //searchInput.blur(); return false; }); var hitTemplate = '
' + '
' + '' + '' + '{{{sticker}}}' + '' + '{{{starsLayout}}}' + '
' + '
{{{_highlightResult.name.value}}}
' + '
' + '
' + '' + '€{{price}}' + '' + '
' + '
'; var noResultsTemplate = '
Il n\'y a pas de résultats {{query}}.
'; var taxonomyHits = instantsearch.widgets.hits({ container: document.querySelector('#suggest-taxonomies'), templates: { empty: '', item: '
{{{_highlightResult.category_friendly_name.value}}}
' } }); searchDesktop.addWidget( instantsearch.widgets.hits({ container: '#desktop-hits', hitsPerPage: 50, templates: { empty: noResultsTemplate, item: hitTemplate }, transformData: { item: function (item) { item.starsLayout = getStarsHTML(item.votes_average, item.votes_count); item.votes_count = getVotesHTML(item.votes_count); item.sticker = getStickers(item); item._highlightResult = getName(item._highlightResult); return item; } } }) ); searchDesktop.addWidget( instantsearch.widgets.hierarchicalMenu({ container: '#categories', attributes: ['hierarchical_categories.lvl0', 'hierarchical_categories.lvl1'], sortBy: ['isRefined', 'count:desc', 'name:asc'], templates: { header: getHeader('Catégories'), item: menuItemTemplate } }) ); searchDesktop.addWidget( instantsearch.widgets.refinementList({ container: '#manufacturers', attributeName: 'manufacturer', sortBy: ['isRefined', 'count:desc', 'name:asc'], limit: 5, operator: 'or', showMore: { limit: 30, templates: { active: 'Voir moins', inactive: 'Voir plus' } }, searchForFacetValues: { placeholder: 'Cherchez les marques', templates: { noResults: '
Cette marque n\'existe pas
', }, }, templates: { header: getHeader('Marques'), }, collapsible: { collapsed: false, }, }) ); searchDesktop.addWidget( instantsearch.widgets.searchBox({ container: '#search-input', placeholder: 'Recherchez parmi plus de 18.000 produits...', autofocus: true, reset: false }) ); searchDesktop.addWidget( instantsearch.widgets.rangeSlider({ container: '#prices', attributeName: 'price', templates: { header: getHeader('Prix'), }, tooltips: { format: function (rawValue) { return '€' + Math.round(rawValue).toLocaleString(); } } }) ); searchDesktop.addWidget( instantsearch.widgets.pagination({ container: '#pagination-bottom', cssClasses: { active: 'active' }, labels: { previous: '', next: '' }, showFirstLast: false, }) ); searchDesktop.addWidget( instantsearch.widgets.clearAll({ container: '#clear-all', templates: { link: 'Éliminer les filtres' }, cssClasses: { root: 'btn btn-block btn-default' }, autoHideContainer: true }) ); searchDesktop.addWidget( instantsearch.widgets.analytics({ pushFunction: function(formattedParameters, state, results) { if (state.query.length !== 0) { analytics.page( '[SEARCH]', { path: '/search/?q=' + state.query.toLowerCase() + '&' + formattedParameters }); analytics.track('Products Searched', { category: 'Search', label: state.query.toLowerCase(), parameters: formattedParameters, hits: results.nbHits, query: state.query.toLowerCase() }); } }, delay: 4000, triggerOnUIInteraction: true, pushInitialSearch: false }) ); searchMobile.addWidget( instantsearch.widgets.analytics({ pushFunction: function(formattedParameters, state, results) { if (state.query.length !== 0) { analytics.page( '[SEARCH]', { path: '/search/?q=' + state.query.toLowerCase() + '&' + formattedParameters }); analytics.track('Products Searched', { category: 'Search Mobile', label: state.query.toLowerCase(), parameters: formattedParameters, hits: results.nbHits, query: state.query.toLowerCase() }); } }, delay: 4000, triggerOnUIInteraction: true, pushInitialSearch: false }) ); var onRenderHandler = function () { searchFormButton.click(function () { hideSearch(); }); jQuery('#close-search').click(function () { hideSearch(); }); }; searchDesktop.addWidget( instantsearch.widgets.refinementList({ container: '#promos', attributeName: 'promo', operator: 'or', limit: 10, templates: { header: getHeader('Promos'), }, transformData: { item: function (item) { item.label = translatePromos(item.label); item.highlighted = translatePromos(item.highlighted); return item; } } }) ); searchDesktop.on('render', onRenderHandler); searchTaxonomies.addWidget(taxonomyHits); searchTaxonomies.start(); searchDesktop.start(); } var searchMobile = instantsearch({ appId: '89Y34Z954P', apiKey: '9c335217376248ea39700ce12a9e69a3', indexName: 'live_products_17', routing: false, }); function startMobileSearch() { var hitTemplate = '
' + '
' + '' + '' + '{{{sticker}}}' + '' + '{{{starsLayout}}}' + '
' + '
{{{_highlightResult.name.value}}}
' + '
' + '
' + '' + '€{{price}}' + '' + '
' + '
'; var noResultsTemplate = '
Il n\'y a pas de résultats {{query}}.
'; searchMobile.addWidget( instantsearch.widgets.hits({ container: '#mobile-hits', hitsPerPage: 50, templates: { empty: noResultsTemplate, item: hitTemplate }, transformData: { item: function (item) { item.starsLayout = getStarsHTML(item.votes_average, item.votes_count); item.votes_count = getVotesHTML(item.votes_count); item.sticker = getStickers(item); item._highlightResult = getName(item._highlightResult); return item; } } }) ); var menuItemTemplate = '{{label}}{{count}}'; searchMobile.addWidget( instantsearch.widgets.hierarchicalMenu({ container: '#mobile-categories', attributes: ['hierarchical_categories.lvl0', 'hierarchical_categories.lvl1'], sortBy: ['isRefined', 'count:desc', 'name:asc'], templates: { header: getHeader('Catégories'), item: menuItemTemplate }, collapsible: { collapsed: false, }, }) ); searchMobile.addWidget( instantsearch.widgets.refinementList({ container: '#mobile-manufacturers', attributeName: 'manufacturer', sortBy: ['isRefined', 'count:desc', 'name:asc'], limit: 5, operator: 'or', showMore: { limit: 30, templates: { active: 'Voir moins', inactive: 'Voir plus' } }, templates: { header: getHeader('Marques'), }, collapsible: { collapsed: false, }, }) ); searchMobile.addWidget( instantsearch.widgets.searchBox({ container: '#fal-mobile__searchbox__dfclassic', placeholder: 'Recherchez parmi plus de 18.000 produits...', autofocus: true, reset: false }) ); searchMobile.addWidget( instantsearch.widgets.rangeSlider({ container: '#mobile-prices', attributeName: 'price', templates: { header: getHeader('Prix'), }, tooltips: { format: function (rawValue) { return '€' + Math.round(rawValue).toLocaleString(); } }, collapsible: { collapsed: false, }, }) ); searchMobile.addWidget( instantsearch.widgets.pagination({ container: '#pagination-bottom-mobile', cssClasses: { active: 'active' }, labels: { previous: '', next: '' }, showFirstLast: false, }) ); searchMobile.addWidget( instantsearch.widgets.clearAll({ container: '#clear-all-mobile', templates: { link: 'Éliminer les filtres' }, cssClasses: { root: 'fal-mobile__button' }, autoHideContainer: true }) ); searchMobile.addWidget( instantsearch.widgets.refinementList({ container: '#mobile-promos', attributeName: 'promo', operator: 'or', limit: 10, templates: { header: getHeader('Promos') }, transformData: { item: function (item) { item.label = translatePromos(item.label); item.highlighted = translatePromos(item.highlighted); return item; } } }) ); //searchMobile.on('render', onRenderHandler); var onRenderHandler = function () { }; } var getUrlParameter = function getUrlParameter(sParam) { var sPageURL = decodeURIComponent(window.location.search.substring(1)), sURLVariables = sPageURL.split('&'), sParameterName, i; for (i = 0; i < sURLVariables.length; i++) { sParameterName = sURLVariables[i].split('='); if (sParameterName[0] === sParam) { return sParameterName[1] === undefined ? true : sParameterName[1]; } } };