BTMWAY Outdoor Wood Interlocking Flooring Tiles, 12"x12" Solid Acacia Wood Patio Deck Tiles, All-Weather Waterproof Composite Decking Floor Tiles for Backyard Balcony, Square Tiles Pack of 30, Brown
BTMWAY Outdoor Wood Interlocking Flooring Tiles, 12"x12" Solid Acacia Wood Patio Deck Tiles, All-Weather Waterproof Composite Decking Floor Tiles for Backyard Balcony, Square Tiles Pack of 30, Brown
${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":"21d67d99-5446-4f5e-b180-c2c08cac4e74","product_id":"d50ed280-269a-411a-aa29-a763b4162110","title":"","weight_unit":"lb","inventory_quantity":0,"sku":"TobyBN-W68582669-WoodTilesJ2","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":76.99,"min_quantity":1}],"weight":"0","compare_at_price":"189.99","price":"76.99","retail_price":"189.99","available":true,"url":"\/products\/btmway-outdoor-wood-interlocking-flooring-tiles-12x12-solid-acacia-wood-patio-deck-tiles-all-weather-waterproof-composite-decking-floor-tiles-for-backyard-balcony-square-tiles-pack-of-30-brown?variant=21d67d99-5446-4f5e-b180-c2c08cac4e74","available_quantity":999999999,"options":[],"off_ratio":"59","flashsale_info":{"variant_id":"21d67d99-5446-4f5e-b180-c2c08cac4e74","product_id":"","quantity":0,"discount_id":"","limit_time":0,"limit_buy":0,"user_limit_buy":0,"discount_sales":0,"discount_sales_rate":"","discount_stock":0,"ends_at":0,"starts_at":0,"allow_oversold":"","allocation_method":"","price":"76.99","compare_at_price":"","discount_price":"76.99","customary_saved_price":"","customary_off_ratio":"","discount_saved_price":"","discount_off_ratio":"59","use_before_price":false,"before_price":"","title":"","properties":"","color_setting_promotional_copy":"","discount_quantity":0,"is_need_split":false},"sales":0};
const saveType = null;
const productSaveLabel = null;
return `
-
${ variantData.off_ratio }%
`; }()}
${function() {
const minInventory = parseInt('7');
const maxInventory = parseInt('10');
const randomInventory = Math.round(Math.random() * (maxInventory - minInventory)) + minInventory;
const customText = "Only {stock} item(s) left in stock!".replace(/\{stock\}/g, '' + randomInventory + '');
const barWidth = (randomInventory / maxInventory) * 100 + '%';
return `
`;
}()}
Product was out of stock.
Enjoy free shipping on every order, delivered to your doorstep no matter where you are in the world.
Shop with confidence with our hassle-free returns policy, ensuring you love what you buy.
Designed with the planet in mind, all our products are committed to sustainable practices.
Your payment information is always protected with our advanced, encrypted checkout security.
BTMWAY 12" x 12" square solid acacia wood interlocking flooring tiles are natural, and easy to install, great for indoor or outdoor applications. Our real wood deck tiles might be the ones you are looking for, remodel the old patio, balcony, or roof with wood tiles to create a beautiful outdoor living space that lasts.
These wood deck tiles are made from solid wood and plastic base and covered with a layer of water-based oil, which makes the product resistant to water. Suitable for most outdoor spaces such as balconies, gardens, porches, and rooftops. Best of all, the floor tile is easily snapped in based on the interlocking mechanism for the simplest installation without any additional tools or equipment.
Specifications:
- Product Type: Flooring Tiles
- Material: Solid Acacia Wood, PP Plastic, Finished by Water-Based Oil
- Color: Brown
- Overall Size: 12" x 12" x 0.74"
- Wooden Part: 0.47"
- Plastic Part: 0.28"
- One Piece: 1.43 LBS
- Weight Capacity: One point 400 lbs
- 10 Square Feet: Need ~ 11 pieces
Package Details:
- 30 pcs/ box 25.2 x 13.8 x 13.9 inches 49lbs
Warm Tips:
- Manual measurement has been used, there may be some reasonable error.
- All the pictures are taken by actual samples, slight chromatic aberration may occur due to lighting or display.
Professional Customer Service
- We are committed to providing the best service, if you have any questions about the flooring tiles, please contact our customer service at any time, and we will reply within 24 hours.
-
[Waterproof & Anti Mildew] - Each floor tile has a square shape of 12 inches x 12 inches with 0.75 inches thickness. The wood part is 0.47 inches thick and the plastic part is 0.28 inches thick enough for drainage during the rainy season. Wood deck tiles was finished with water-based oil, which helps them waterproof & anti mildew and mold.
-
[Stunning Indoor and Outdoor Decor] - These natural teak wood interlocking floor tiles look fantastic on any surface and bring a warm DIY feel to any space. Perfect as interlocking patio tiles, balcony tiles, bathroom, and any indoor or outdoor setting, these interlocking tiles are just thin enough so they don’t obstruct doors and come in a pack of 10 so they can fit any room to your requirements.
-
[Customizable] - The wood floor tiles can be cut into small pieces, the wood and plastic parts are attached together by twisted plastic nail buttons, making the product can be cut to to ensure they perfectly fit any space you need. You don’t have to worry about awkward corners being missed, and you can easily measure them to your specifications.
-
[Weather Proof and Durable] - UV protected to be weather resistant and not fade, our wood tiles for the patio are coated with oil UV protection for longer life and outdoor use. Suitable with many outdoor spaces such as garden, swimming pool, balcony, porch.
-
[Easy to Install] - Easy to assembly without any tools & equipment. The interlocking plastic base makes them very easy to apply and no tools are required. Align the groove on the other side, press hard, complete the assembly and installation.
Vendor by :
BTMWAY
Sku :
TobyBN-W68582669-WoodTilesJ2
${function(){
const variantData = data.variant || {"id":"21d67d99-5446-4f5e-b180-c2c08cac4e74","product_id":"d50ed280-269a-411a-aa29-a763b4162110","title":"","weight_unit":"lb","inventory_quantity":0,"sku":"TobyBN-W68582669-WoodTilesJ2","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":76.99,"min_quantity":1}],"weight":"0","compare_at_price":"189.99","price":"76.99","retail_price":"189.99","available":true,"url":"\/products\/btmway-outdoor-wood-interlocking-flooring-tiles-12x12-solid-acacia-wood-patio-deck-tiles-all-weather-waterproof-composite-decking-floor-tiles-for-backyard-balcony-square-tiles-pack-of-30-brown?variant=21d67d99-5446-4f5e-b180-c2c08cac4e74","available_quantity":999999999,"options":[],"off_ratio":"59","flashsale_info":{"variant_id":"21d67d99-5446-4f5e-b180-c2c08cac4e74","product_id":"","quantity":0,"discount_id":"","limit_time":0,"limit_buy":0,"user_limit_buy":0,"discount_sales":0,"discount_sales_rate":"","discount_stock":0,"ends_at":0,"starts_at":0,"allow_oversold":"","allocation_method":"","price":"76.99","compare_at_price":"","discount_price":"76.99","customary_saved_price":"","customary_off_ratio":"","discount_saved_price":"","discount_off_ratio":"59","use_before_price":false,"before_price":"","title":"","properties":"","color_setting_promotional_copy":"","discount_quantity":0,"is_need_split":false},"sales":0};
return `
Vendor by :
${data.product && data.product.vendor}
Weight :
${variantData && variantData.weight}${variantData && variantData.weight_unit}
Barcode :
${variantData && variantData.barcode}
Sku :
${variantData && variantData.sku}
` }()}