Ceramic Soap Dish with Double‑Layer Drainage, Decorative Porcelain Bar Soap Holder Tray for Bathroom Vanity Countertop Ceramic Soap Dish with Double‑Layer Drainage, Decorative Porcelain Bar Soap Holder Tray for Bathroom Vanity Countertop

$11.99
people are viewing this right now
Color: a
Quantity
Product was out of stock.
Product is unavailable.
Free worldwide shipping

Enjoy free shipping on every order, delivered to your doorstep no matter where you are in the world.

Free returns

Shop with confidence with our hassle-free returns policy, ensuring you love what you buy.

Sustainably made

Designed with the planet in mind, all our products are committed to sustainable practices.

Secure payments

Your payment information is always protected with our advanced, encrypted checkout security.

Description

 

This decorative ceramic soap dish features a practical double‑layer drainage system. The removable upper draining board lifts completely away from the base reservoir, isolating your bar soap from standing water to prevent soap softening and waste.

Made of sturdy glazed porcelain, this soap holder has a smooth waterproof finish that wipes clean in seconds. Multiple vintage‑inspired patterns with delicate gold trim are offered to complement modern, boho and classic bathroom decor.

The well‑proportioned oval tray fits regular‑size bar soaps perfectly. Ideal for bathroom countertops, shower stalls, vanity sinks and guest bathrooms. Simple to take apart for full water dumping and deep cleaning.

Material: Ceramic / Porcelain
Available Patterns: Golden star print, pink‑gold vintage, blue‑gold vintage, simple gold rim
Size: 13.7cm / 5.39 inch × 9.4cm / 3.70 inch × 3.5cm /1.38 inch

Double‑Layer Drainage Structure:Detachable draining partition separates soap from collected water, keeps bar soap dry and extends soap service life, no mushy soggy soap.

✅ Premium Glazed Ceramic Material:High‑quality porcelain with smooth glazed surface, stain‑resistant, easy to rinse and clean, durable for daily bathroom use.

✅ Multiple Elegant Vintage Patterns:Available in golden star, pink‑gold retro, blue‑gold classic and plain gold‑trim styles, matches diverse bathroom decor styles.

✅ Practical Oval Size:Compact oval shape fits most standard bar soaps, perfect for bathroom counter, shower room, vanity sink and guest restroom.

✅ Thought‑out Detachable Design:Drainage board can be fully lifted out, convenient to empty out accumulated water and clean the base tray thoroughly.

class SpzCustomDiscountFlashsale extends SPZ.BaseElement { constructor(element) { super(element); this.xhr_ = SPZServices.xhrFor(this.win); this.getFlashSaleApi = "\/api\/storefront\/promotion\/flashsale\/display_setting\/product_setting"; this.timer = null; this.variantId = "ace15b26-754b-4f0b-bf4e-75d71a94747d"; // 促销活动数据 this.flashsaleData = {} } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.templates_ = SPZServices.templatesForDoc(); this.viewport_ = this.getViewport(); // 挂载bind函数 解决this指向问题 this.render = this.render.bind(this); this.resize = this.resize.bind(this); this.switchVariant = this.switchVariant.bind(this); } mountCallback() { // 获取数据 this.getData(); this.element.onclick = (e) => { const cur = this.win.document.querySelector(".app_discount_flashsale_desc"); const setting = this.flashsaleData.product_setting; const landingUrl = `/promotions/discount-default/${this.flashsaleData.discount_info.id}`; const finalUrl = appDiscountUtils.resolveDiscountHref(setting, landingUrl); if (finalUrl && appDiscountUtils.inProductBody(this.element) && e.target !== cur) { this.win.open(finalUrl, '_blank', 'noopener'); } } // 绑定 this.viewport_.onResize(this.resize); // 监听子款式切换,重新渲染 this.win.document.addEventListener('dj.variantChange', this.switchVariant); } unmountCallback() { // 解绑 this.viewport_.removeResize(this.resize); this.win.document.removeEventListener('dj.variantChange', this.switchVariant); // 清除定时器 if (this.timer) { clearTimeout(this.timer); this.timer = null; } } resize() { if (this.timer) { clearTimeout(this.timer) this.timer = null; } this.timer = setTimeout(() => { this.render(); }, 200) } switchVariant(event) { const variant = event.detail.selected; if (variant.product_id == '3b5e4881-ac6c-4c45-a360-bb310d8433c4' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "3b5e4881-ac6c-4c45-a360-bb310d8433c4", product_type: "", variant_id: this.variantId } this.flashsaleData = {}; this.win.fetch(this.getFlashSaleApi, { method: "POST", body: JSON.stringify(reqBody), headers: { "Content-Type": "application/json" } }).then(async (response) => { if (response.ok) { this.flashsaleData = await response.json(); this.render(); } else { this.clearDom(); } }).catch(err => { this.clearDom(); }); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } render() { this.templates_ .findAndRenderTemplate(this.element, { isMobile: appDiscountUtils.judgeMobile(), isRTL: appDiscountUtils.judgeRTL(), inProductDetail: appDiscountUtils.inProductBody(this.element), flashsaleData: this.flashsaleData, image_domain: this.win.SHOPLAZZA.image_domain, }) .then((el) => { this.clearDom(); this.element.appendChild(el); }) } } SPZ.defineElement('spz-custom-discount-flashsale', SpzCustomDiscountFlashsale);

You may also like

No products viewed