Valet Tray DKD Home Decor Resin Aluminium Romantic 23 x 14,3 x 23 cm (2 Units)
Discover excellence with <b>Valet Tray DKD Home Decor Resin Aluminium Romantic 23 x 14,3 x 23 cm!</b>
${function(){
return `
${data.starNum} /${data.starTotal}
`;
}()}
${function(){
return `
${data.showStarText === 'true' ? `
${data.starNum} /${data.starTotal}
` : ''}
`;
}()}
const TAG = 'spz-custom-revue-star';
class SPZCustomRevueStar extends SPZ.BaseElement {
constructor(element) {
super(element);
}
static deferredMount() {
return false;
}
buildCallback = () => {
this.action_ = SPZServices.actionServiceForDoc(this.element);
this.templates_ = SPZServices.templatesForDoc(this.element);
this.xhr_ = SPZServices.xhrFor(this.win);
this.starNum = this.element.getAttribute('starNum');
this.starTotal = this.element.getAttribute('starTotal');
this.showStarText = this.element.getAttribute('showStarText');
this.starColor = this.element.getAttribute('color');
this.interact = this.element.getAttribute('interact');
this.starSize = this.element.getAttribute('starSize') || 14;
}
mountCallback = () => {
this.doRender_({
starTotal: this.starTotal,
totalArray: Array.from({ length: Number(this.starTotal) }, (v, k) => k + 1),
starNum: this.starNum,
showStarText: this.showStarText,
starColor: this.starColor,
starSize: this.starSize
}).then(() => {
if (this.interact) {
this.addEventListeners_();
}
});
}
addEventListeners_ = () => {
const stars = document.querySelectorAll('.revue-star__star');
stars.forEach(star => {
star.addEventListener('click', event => {
const starEl = star.closest('.revue-star__star');
const starIndex = Number(starEl.dataset.index);
let isHalf = event.offsetX < star.offsetWidth / 2;
// rtl
if (document.documentElement.getAttribute('dir') === 'rtl') {
isHalf = event.offsetX > star.offsetWidth / 2;
}
const starValue = isHalf ? starIndex - 0.5 : starIndex;
this.starClickHandler_({ value: starValue });
});
});
}
renderStar = () => {
const isRtl = document.documentElement.getAttribute('dir') === 'rtl';
const stars = this.element.querySelectorAll('.revue-star__star');
stars.forEach((star, i) => {
const starIndex = i + 1;
const starEl = star.querySelector('svg:nth-child(2)');
const isHalf = this.starNum % 1 > 0 && Math.ceil(this.starNum) === starIndex;
const isSolid = starIndex <= Math.ceil(this.starNum);
starEl.style.display = isSolid ? 'block' : 'none';
if (isHalf) {
if (isRtl) {
// RTL布局下,如果是半星,显示星星的右半边
starEl.style.clipPath = `polygon(50% 0, 100% 0, 100% 100%, 50% 100%)`;
} else {
// LTR布局下,如果是半星,显示星星的左半边
starEl.style.clipPath = `polygon(0 0, 50% 0, 50% 100%, 0 100%)`;
}
} else {
starEl.style.clipPath = `polygon(0 0, 100% 0, 100% 100%, 0 100%)`
}
});
const showCountEle = this.element.querySelector('#revue-star-show-count');
showCountEle && SPZ.whenApiDefined(showCountEle).then((api) => {
api.render({ starNum: this.starNum, starTotal: this.starTotal });
});
}
doRender_ = (data) => {
return this.templates_
.findAndRenderTemplate(this.element, { starSize: this.starSize, ...data }, null)
.then((el) => {
const children = this.element.querySelector('*:not(template)');
children && SPZCore.Dom.removeElement(children);
this.element.appendChild(el);
})
.then(() => {
this.starNum = data.starNum;
this.renderStar();
});
}
starClickHandler_ = (event) => {
this.starNum = event.value;
this.renderStar();
this.triggerEvent_('change', { value: event.value });
}
triggerEvent_(name, data) {
const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {});
this.action_.trigger(this.element, name, event);
}
isLayoutSupported(layout) {
return layout == SPZCore.Layout.CONTAINER;
}
}
SPZ.defineElement(TAG, SPZCustomRevueStar)
( )
try {
const productId = window.SHOPLAZZA.meta.page.resource_id;
const productType = `default`;
const getProductReviews = (star_least) =>
fetch('/api/comment/count-star-multi',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
product_id: [productId],
star_least: star_least || 1,
}),
}).then(res => res.json());
try {
const section = document.querySelector('#revue-product-star');
if(productType === "gift_card" && section) {
section.style.display = 'none';
}
} catch(e) {
console.log(e);
window.addEventListener('load', () => {
try {
const section = document.querySelector('#revue-product-star');
if(productType=== "gift_card" && section) {
section.style.display = 'none';
}
} catch(e) {
console.log(e)
}
})
}
const getReviewsConfig = async () => {
let data = {};
const url = new URL(window.location.href);
const preview_theme_id = url.searchParams.get('preview_theme_id');
const commentConfig = await fetch('/api/comment-config', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
}
}).then(res => res.json());
data = commentConfig.data;
const themeConfig = await fetch(`/api/comment-config?theme_id=${preview_theme_id || ''}`, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
}
}).then(res => res.json());
if (themeConfig?.data && themeConfig.data.star_color) {
data.star_color = themeConfig.data.star_color;
}
if (preview_theme_id) {
data.star_least = window.apps_global && apps_global.reviews && apps_global.reviews.preview_star_least;
} else if (themeConfig?.data && themeConfig.data.product_settings) {
data.star_least = themeConfig.data.product_settings.star_least;
}
return data;
};
if (productId && window.SHOPLAZZA.meta.page.template_type == 1) {
getReviewsConfig().then(async res => {
const config = res;
let review = await getProductReviews(config.star_least);
review = review.data[productId];
if (!config.open_status || (!review.comment_avg_star && !config.show_no_comment_star)) return;
const render = async () => {
const section = document.querySelector('#revue-product-star');
const starComponent = document.querySelector('#revue-product-star-component');
const count = document.querySelector('#revue-product-star-count');
count.innerText = review.published_count;
const api = await SPZ.whenApiDefined(starComponent);
api.doRender_({
starNum: review.comment_avg_star,
starTotal: 5,
showStarText: false,
starColor: config.star_color,
totalArray: Array.from({ length: 5 }, (v, k) => k + 1)
});
section.style.opacity = 1;
}
render();
document.addEventListener('dj.editor.update', render);
});
}
} catch (e) {console.warn(e)};
${function() {
const variantData = data.variant || {"id":"0ca4f4c7-0163-4a55-99a2-980c78db4e61","product_id":"853b069a-bdab-4bf4-881d-89a232404465","title":"","weight_unit":"kg","inventory_quantity":180,"sku":"S3017395","barcode":"8424001903146","position":1,"option1":"","option2":"","option3":"","note":"NEW","image":null,"wholesale_price":[{"price":45,"min_quantity":1}],"weight":"2.08","compare_at_price":"0","price":"45","retail_price":"0","available":true,"url":"\/de\/products\/valet-tray-dkd-home-decor-resin-aluminium-romantic-23-x-143-x-23-cm-2-units?variant=0ca4f4c7-0163-4a55-99a2-980c78db4e61","available_quantity":180,"options":[],"off_ratio":0,"flashsale_info":[],"sales":0};
const saveType = "percentage";
const productLabelDiscountOn = true;
return `
-
(Inklusive Steuern)
${saveType == 'percentage'
? `-${variantData.off_ratio}% `
: `- `
}
(Inklusive Steuern)
`;
}()}
Sku : S3017395
Gewicht : 2.08kg
Strichcode : 8424001903146
Inventar : 180
${function(){
const variantData = data.variant || {"id":"0ca4f4c7-0163-4a55-99a2-980c78db4e61","product_id":"853b069a-bdab-4bf4-881d-89a232404465","title":"","weight_unit":"kg","inventory_quantity":180,"sku":"S3017395","barcode":"8424001903146","position":1,"option1":"","option2":"","option3":"","note":"NEW","image":null,"wholesale_price":[{"price":45,"min_quantity":1}],"weight":"2.08","compare_at_price":"0","price":"45","retail_price":"0","available":true,"url":"\/de\/products\/valet-tray-dkd-home-decor-resin-aluminium-romantic-23-x-143-x-23-cm-2-units?variant=0ca4f4c7-0163-4a55-99a2-980c78db4e61","available_quantity":180,"options":[],"off_ratio":0,"flashsale_info":[],"sales":0};
return `
Sku : ${variantData && variantData.sku}
Gewicht : ${variantData && variantData.weight}${variantData && variantData.weight_unit}
Strichcode : ${variantData && variantData.barcode}
Inventar : ${variantData && variantData.available_quantity}
`
}()}
${function() {
const minDays = parseInt('3');
const maxDays = parseInt('7');
const customText = "Estimated Delivery\uff1a{min_date} - {max_date}";
const minDate = new Date(Date.now() + (minDays * 86400000));
const maxDate = new Date(Date.now() + (maxDays * 86400000));
const formatDate = (minDate.getFullYear() == maxDate.getFullYear() && minDate.getFullYear() == new Date().getFullYear())
? new Intl.DateTimeFormat('en', { month: 'short', day: '2-digit' })
: new Intl.DateTimeFormat('en', { month: 'short', day: '2-digit', year: 'numeric' });
const tipText = customText.replace(/\{min_date\}/g, '' + formatDate.format(minDate) + ' ')
.replace(/\{max_date\}/g, '' + formatDate.format(maxDate) + ' ');
return `
${tipText}
`;
}()}
In den Warenkorb legen
${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 = {"id":"0ca4f4c7-0163-4a55-99a2-980c78db4e61","product_id":"853b069a-bdab-4bf4-881d-89a232404465","title":"","weight_unit":"kg","inventory_quantity":180,"sku":"S3017395","barcode":"8424001903146","position":1,"option1":"","option2":"","option3":"","note":"NEW","image":null,"wholesale_price":[{"price":45,"min_quantity":1}],"weight":"2.08","compare_at_price":"0","price":"45","retail_price":"0","available":true,"url":"\/de\/products\/valet-tray-dkd-home-decor-resin-aluminium-romantic-23-x-143-x-23-cm-2-units?variant=0ca4f4c7-0163-4a55-99a2-980c78db4e61","available_quantity":180,"options":[],"off_ratio":0,"flashsale_info":[],"sales":0};
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 ? `
` : ' ';
}
}()}
Kaufe jetzt
Produkt war ausverkauft.
Produkt ist nicht verfügbar.
Exceptional value -
Valet Tray DKD Home Decor Resin Aluminium Romantic 23 x 14,3 x 23 cm. If you like to take care of every detail in your home and own the latest products that will make your life easier, purchase
Valet Tray DKD Home Decor Resin Aluminium Romantic 23 x 14,3 x 23 cm (2 Units) at the best price.
Important information: Assorted designs sent randomly according to stock Type: Valet Tray Colour: Material: Design: Romantic Units: 2 Units Approx. dimensions: 23 x 14,3 x 23 cm Type of Installation: Floor Category: Home and cooking > Storage and organisation > Jewellery boxes and organisers > Trays
24-months Warranty on "New" Products - 12-months Warranty on "Refurbished" or "Open Box" Products
VISA - Mastercard - Google Pay - Apple Pay
Secure payments by PayPal