7 Pocket Hanging Vertical Garden Wall Planter
7 Pocket Hanging Vertical Garden Wall Planter
7 Pocket Hanging Vertical Garden Wall Planter
7 Pocket Hanging Vertical Garden Wall Planter
7 Pocket Hanging Vertical Garden Wall Planter
7 Pocket Hanging Vertical Garden Wall Planter
7 Pocket Hanging Vertical Garden Wall Planter
7 Pocket Hanging Vertical Garden Wall Planter
7 Pocket Hanging Vertical Garden Wall Planter
7 Pocket Hanging Vertical Garden Wall Planter
1/5
7 Pocket Hanging Vertical Garden Wall Planter
7 Pocket Hanging Vertical Garden Wall Planter
7 Pocket Hanging Vertical Garden Wall Planter
7 Pocket Hanging Vertical Garden Wall Planter
7 Pocket Hanging Vertical Garden Wall Planter
1/5

7 Pocket Hanging Vertical Garden Wall Planter

$30.99
$62.99
Save $32.00
Quantity
SKU: Planter
Weight: 0kg
Barcode:

 

 

[Notice] - Don't be worry about coronavirus - We are still fulfilling and delivering orders daily. ✈

 

 


2

Material: Felt Cloth, 7-Pocket Wall Hanging Planter Balcony Garden Vertical Flower Vege Herbs Grow Bag.

 



1

Features: rugged, self-absorbing, corrosion-resistant, breathable,Wall-mounted, save space for planting.
1

Application Scene: Balcony Garden / Home Decor / Supermarket Wall / Cafe Decor / Garden Nursery.


7

Suitable for planting flowers, vegetables, strawberries, hanging plants and so on.
3

 

Great decor for your indoor, outdoor walls and fences with green plants, pretty flowers, herbs and vegetables.



5

 

Packaging Details
  • Unit Type: piece
  • Package Weight: 0.287kg (0.63lb.)
  • Package Size: 15cm x 10cm x 10cm (5.91in x 3.94in x 3.94in)

 

 

OUR GUARANTEE

We truly believe we carry some of the most innovative products in the world, and we want to make sure we back that up with a risk-free ironclad 90-day guarantee.

If you don't have a positive experience for ANY reason, we will do WHATEVER it takes to make sure you are 100% satisfied with your purchase.

Buying items online can be a daunting task, so we want you to realize that there is an absolute ZERO risks in buying something and trying it out. If you don't like it, no hard feelings we'll make it right.

 

 

Customer Reviews

Here are what our customers say.

Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.