');
$("head").append(
' '
);
$("head").append(
' '
);
};
this.loadStyleBoxes = () => {
$("head").append(' ');
};
this.npShortcode = () => {
var pattern = /\[npProducts[^\]]*\]/g; // Wyrażenie regularne do wyszukiwania shortcode'ów "npProducts" z zmiennymi
var html = document.documentElement.outerHTML;
var wyniki = [];
var dopasowanie;
while ((dopasowanie = pattern.exec(html)) !== null) {
var shortcode = dopasowanie[0];
var zmienne = {};
// Dodatkowe przetwarzanie, aby wyodrębnić zmienne z shortcode'a
var zmiennaPattern = /(\w+)="([^"]*)"/g;
var zmiennaDopasowanie;
while ((zmiennaDopasowanie = zmiennaPattern.exec(shortcode)) !== null) {
zmienne[zmiennaDopasowanie[1]] = zmiennaDopasowanie[2];
}
wyniki.push(zmienne);
}
return wyniki;
};
this.getProductsFromApi = () => {
this.boxes.forEach((item, index) => {
if (item?.ids !== undefined) {
item.ids = item.ids.split(",").map((item) => {
return parseInt(item, 10);
});
} else {
console.log("Nie zostało podane zadne ID do pobrania");
return false;
}
if (item?.elements !== undefined) {
item.elements = item.elements.split(",");
} else {
console.log(
"Nie zostało podane elementy do wyświetlenia w boxie #" +
item.wrapper +
". Zostanie uzyty domyslny wyglad."
);
}
if (item.content == "products") {
frontAPI.getProducts(
(response) => {
item.products = response.list;
t.renderProducts(item);
},
{
urlParams: "?limit=" + this.productsLimit,
ids: item.ids,
}
);
} else if (item.content == "categories") {
frontAPI.getProductsFromCategory(
(response) => {
item.products = response.list;
t.renderProducts(item);
},
{
urlParams: "?limit=" + this.productsLimit,
id: item.ids,
}
);
} else if (item.content == "collection") {
frontAPI.getProductsFromCollection(
(response) => {
item.products = response.list;
t.renderProducts(item);
},
{
urlParams: "?limit=" + this.productsLimit,
id: item.ids,
}
);
} else if (item.content == "loyalty_products") {
frontAPI.getLoyaltyProducts(
(response) => {
item.products = response.list;
t.renderProducts(item);
},
{
urlParams: "?limit=" + this.productsLimit,
}
);
} else if (item.content == "user_loyalty_products") {
frontAPI.getLoyaltyProductsAvailableForUser(
(response) => {
item.products = response.list;
t.renderProducts(item);
},
{
urlParams: "?limit=" + this.productsLimit,
ids: item.ids,
}
);
} else {
frontAPI.getProducts(
(response) => {
item.products = response.list;
t.renderProducts(item);
},
{
urlParams: "?limit=" + this.productsLimit,
ids: item.ids,
}
);
}
});
};
this.generateGridProductMarkup = (product, settings) => {
let productImage = true,
productName = true,
productPreview = true,
productProducer = false,
productDescription = false,
priceString = "",
price = true,
priceNetto = false,
promoTag = "",
newTag = "";
if (
settings?.elements !== undefined &&
settings.elements.indexOf("image") > -1
) {
productImage = true;
} else if (
settings?.elements !== undefined &&
settings.elements.indexOf("image") === -1
) {
productImage = false;
}
if (
settings?.elements !== undefined &&
settings.elements.indexOf("name") > -1
) {
productName = true;
} else if (
settings?.elements !== undefined &&
settings.elements.indexOf("name") === -1
) {
productName = false;
}
if (
settings?.elements !== undefined &&
settings.elements.indexOf("preview") > -1
) {
productPreview = true;
} else if (
settings?.elements !== undefined &&
settings.elements.indexOf("preview") === -1
) {
productPreview = false;
}
if (
settings?.elements !== undefined &&
settings.elements.indexOf("producer") > -1
) {
productProducer = true;
} else if (
settings?.elements !== undefined &&
settings.elements.indexOf("producer") === -1
) {
productProducer = false;
}
if (
settings?.elements !== undefined &&
settings.elements.indexOf("description") > -1
) {
productDescription = true;
} else if (
settings?.elements !== undefined &&
settings.elements.indexOf("description") === -1
) {
productDescription = false;
}
if (settings?.pricestring !== undefined) {
priceString = settings.pricestring;
} else if (settings?.elements === undefined) {
priceString = "";
}
if (
settings?.elements !== undefined &&
settings.elements.indexOf("netto") > -1
) {
priceNetto = true;
} else if (
settings?.elements !== undefined &&
settings.elements.indexOf("netto") === -1
) {
priceNetto = false;
}
if (
settings?.elements !== undefined &&
settings.elements.indexOf("price") > -1
) {
price = true;
} else if (
settings?.elements !== undefined &&
settings.elements.indexOf("price") === -1
) {
price = false;
}
if (product.newProduct) {
newTag = '
nowość ';
}
if (product.price.gross.promo_float) {
let discount =
((product.price.gross.base_float - product.price.gross.promo_float) /
product.price.gross.base_float) *
100;
discount = discount.toFixed(0);
promoTag = 'rabat -' + discount + "% ";
}
let productMarkup = $(`
${
productImage
? `
`
: ``
}
${
productName
? `
$
`
: ``
}
${
productProducer && product.producer
? `
`
: ``
}
${
productDescription && product.shortDescription
? `
`
: ``
}
${
price
? `
Cena$:
$
${
product.price?.gross.promo_float
? `
Cena regularna$:
$
Najniższa cena$:
$
`
: ``
}
${
priceNetto
? `
Cena netto$:
$
`
: ``
}
`
: ``
}
${
product?.can_buy
? `
`
: `
`
}
${newTag || promoTag ? `
` : ``}
`);
return productMarkup;
};
this.generateSliderProductMarkup = (product, settings) => {
let productImage = true,
productName = true,
productPreview = true,
productProducer = false,
priceNetto = false,
productDescription = false,
priceString = "",
price = true,
promoTag = "",
newTag = "";
if (
settings?.elements !== undefined &&
settings.elements.indexOf("image") > -1
) {
productImage = true;
} else if (
settings?.elements !== undefined &&
settings.elements.indexOf("image") === -1
) {
productImage = false;
}
if (
settings?.elements !== undefined &&
settings.elements.indexOf("name") > -1
) {
productName = true;
} else if (
settings?.elements !== undefined &&
settings.elements.indexOf("name") === -1
) {
productName = false;
}
if (
settings?.elements !== undefined &&
settings.elements.indexOf("preview") > -1
) {
productPreview = true;
} else if (
settings?.elements !== undefined &&
settings.elements.indexOf("preview") === -1
) {
productPreview = false;
}
if (
settings?.elements !== undefined &&
settings.elements.indexOf("producer") > -1
) {
productProducer = true;
} else if (
settings?.elements !== undefined &&
settings.elements.indexOf("producer") === -1
) {
productProducer = false;
}
if (
settings?.elements !== undefined &&
settings.elements.indexOf("netto") > -1
) {
priceNetto = true;
} else if (
settings?.elements !== undefined &&
settings.elements.indexOf("netto") === -1
) {
priceNetto = false;
}
if (
settings?.elements !== undefined &&
settings.elements.indexOf("price") > -1
) {
price = true;
} else if (
settings?.elements !== undefined &&
settings.elements.indexOf("price") === -1
) {
price = false;
}
if (product.newProduct) {
newTag = 'nowość ';
}
if (
settings?.elements !== undefined &&
settings.elements.indexOf("description") > -1
) {
productDescription = true;
} else if (
settings?.elements !== undefined &&
settings.elements.indexOf("description") === -1
) {
productDescription = false;
}
if (settings?.pricestring !== undefined) {
priceString = settings.pricestring;
} else if (settings?.pricestring === undefined) {
priceString = "";
}
if (product.price.gross.promo_float) {
let discount =
((product.price.gross.base_float - product.price.gross.promo_float) /
product.price.gross.base_float) *
100;
discount = discount.toFixed(0);
promoTag = 'rabat -' + discount + "% ";
}
let productMarkup = $(`
${
productImage
? `
`
: ``
}
${
productName
? `
$
`
: ``
}
${
productProducer && product.producer
? `
`
: ``
}
${
productDescription && product.shortDescription
? `
`
: ``
}
${
price
? `
$${
product.price.gross.final
}
${
product.price?.gross.promo_float
? `
Cena regularna$:
$
Najniższa cena$:
$
`
: ``
}
${
priceNetto
? `
$$
Cena regularna$:
$
Najniższa cena$:
$
`
: ``
}
`
: ``
}
${
product.can_buy
? `
`
: `
`
}
${
productPreview
? `
zobacz więcej
`
: ``
}
${
newTag || promoTag ? `
` : ``
}
`);
return productMarkup;
};
this.renderProducts = (item) => {
let wrapperItem = $("#" + item.wrapper);
wrapperItem.empty().addClass("loading").removeClass("resetcss");
if (!wrapperItem.hasClass("box")) {
wrapperItem.addClass("box");
}
if (!wrapperItem.hasClass("box_custom")) {
wrapperItem.addClass("box_custom");
}
if (item?.name !== undefined) {
const newHeader = $(`
$
`);
wrapperItem.append(newHeader);
}
if (item?.view == "grid") {
let newGridInnerbox = $(`
`);
wrapperItem.addClass("np-products").addClass("np-grid-products");
item.products.forEach((product, index) => {
newGridInnerbox.append(t.generateSliderProductMarkup(product, item));
});
wrapperItem.append(newGridInnerbox);
} else if (item?.view == "slider") {
let newSliderInnerbox = $(`
`);
let newSliderWrapper = $(`
`);
wrapperItem.addClass("np-products");
item.products.forEach((product, index) => {
newSliderWrapper.append(t.generateSliderProductMarkup(product, item));
});
newSliderInnerbox.append(newSliderWrapper);
wrapperItem.append(newSliderInnerbox);
} else {
let newGridInnerbox = $(`
`);
wrapperItem.addClass("np-products").addClass("np-grid-products");
item.products.forEach((product, index) => {
newGridInnerbox.append(t.generateSliderProductMarkup(product, item));
});
wrapperItem.append(newGridInnerbox);
}
wrapperItem.removeClass("loading");
if (item?.view == "slider") {
let responsiveSlider = {};
if ($("#" + item.wrapper).closest(".s-grid-12").length > 0) {
responsiveSlider = {
480: {
items: 2,
},
768: {
items: 3,
},
989: {
items: 4,
},
};
} else if ($("#" + item.wrapper).closest(".s-grid-9").length > 0) {
responsiveSlider = {
480: {
items: 2,
},
768: {
items: 2,
},
989: {
items: 3,
},
};
} else if ($("#" + item.wrapper).closest(".s-grid-6").length > 0) {
responsiveSlider = {
480: {
items: 2,
},
768: {
items: 2,
},
989: {
items: 2,
},
};
} else if ($("#" + item.wrapper).closest(".s-grid-3").length > 0) {
esponsiveSlider = {
480: {
items: 1,
},
768: {
items: 1,
},
989: {
items: 1,
},
};
} else {
responsiveSlider = {
480: {
items: 2,
},
768: {
items: 3,
},
989: {
items: 4,
},
};
}
if (typeof $().owlCarousel !== 'function') {
window._$npProductBoxTimeout = window._$npProductBoxTimeout ? window._$npProductBoxTimeout+1 : 1
if (window._$npProductBoxTimeout > 5) {
return;
}
setTimeout(()=>{
this.renderProducts(item)
},300)
return;
}
window._$npProductBoxTimeout = 0;
$("#" + item.wrapper + " .owl-carousel").owlCarousel({
loop: true,
items: 1,
dots: false,
nav: true,
margin: 5,
responsive: responsiveSlider,
});
}
Shop.AddToCart.include({
options: {
selectors: {
form:
"#" +
item.wrapper +
" .basket form[action], #" +
item.wrapper +
" form.basket[action]",
},
},
});
var addtobasket = new Shop.AddToCart();
var availability = new Shop.ProductAvailability();
if (item.elements == undefined || item.elements?.indexOf("preview") > -1) {
Shop.QuickView.include({
options: {
selectors: {
button: "#" + item.wrapper + " .quickview",
},
},
});
var quickview = new Shop.QuickView();
}
};
this.npFindShortcodes();
}
document.addEventListener("DOMContentLoaded", function () {
const npProductsBox = new npProductBox();
});
Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies. Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce.
Produkt 2
Dostępność:
na wyczerpaniu
Wysyłka w:
5 dni
Producent:
-
Kod produktu:
1_20240215110631
Opis
Koszty dostawy
Cena nie zawiera ewentualnych kosztów płatności
Newsletter
Podaj swój adres e-mail, jeżeli chcesz otrzymywać informacje o nowościach i promocjach.
Nowości
Sklep jest w trybie podglądu
Pokaż pełną wersję strony
Dbamy o Twoją prywatność
Pliki cookies i pokrewne im technologie umożliwiają poprawne działanie strony i pomagają nam dostosować ofertę do Twoich potrzeb. Możesz zaakceptować wykorzystanie przez nas wszystkich tych plików i przejść do sklepu lub dostosować użycie plików do swoich preferencji, wybierając opcję "Dostosuj zgody".
Więcej o plikach cookies przeczytasz w naszej Polityce prywatności.
Zaakceptuj tylko niezbędne
Dostosuj zgody
Zaakceptuj wszystkie
Ustawienia plików cookies
W tym miejscu możesz określić swoje preferencje w zakresie wykorzystywania przez nas plików cookies.
Niezbędne do działania strony
Te pliki są niezbędne do działania naszej strony internetowej, dlatego też nie możesz ich wyłączyć.
Funkcjonalne
Te pliki umożliwiają Ci korzystanie z pozostałych funkcji strony internetowej (innych niż niezbędne do jej działania). Ich włączenie da Ci dostęp do pełnej funkcjonalności strony.
Analityczne
Te pliki pozwalają nam na dokonanie analiz dotyczących naszego sklepu internetowego, co może przyczynić się do jego lepszego funkcjonowania i dostosowania do potrzeb Użytkowników.
Analityczne dostawcy oprogramowania
Dane wykorzystywane przez dostawcę oprogramowania sklepu - Shoper S.A. Na ich podstawie dokonywane są analizy, związane z rozwojem oprogramowania, oraz mierzona jest skuteczność kampanii reklamowych. Nie są łączone z innymi informacjami, podawanymi podczas rejestracji i składania zamówienia. Więcej na ten temat przeczytasz w Polityce plików cookies Shoper .
Marketing
Dzięki tym plikom możemy prowadzić działania marketingowe.
Anuluj
Zapisz ustawienia