Enjoy 6% OFF [Code: TIN66] + Free Shipping Over $69
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
1 / 15
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western
Tu pourrais aussi aimer Don't Like These?
0% OFF
Tinpainting

Cowgirl You Don't Stop Riding When You Get Old - Vintage Metal Signs - 20*30cm/30*40cm - Western

801564.01

$9.99
226 sold
Size
Qty 34 in stock

Rust Free UV Protected Vintage Metal Tin Sign Musician Plaque Weatherproof Wall Posters Iron Painting for Bar Home Bedroom Decoration
Feature:
Creative patterns and characters are printed on the iron plate. Unique decorative wall signs can be used in bars, cafes, restaurants, billiards villas, hotels, clubs and so on.
Metal signs are popular retro goods, which bring fashion to your house.
Decorate your house, bar or shop. This artwork will create a nostalgic atmosphere for you.
Made of high-quality metal, the wall sign has a long service life. Even in rainy or sunny days, it will not fade or rust. (Note: Some vintage metal signs are designed with rusty texture, which is not a quality problem).
Waterproof, anti-glare, easy to clean, durable, waterproof and high temperature resistant.
Perfect size, suitable for people\'s attention, suitable for decoration.
Whether it\'s a gift for your lover or a gift for your family, these are great gifts for your birthday, Christmas or any other time.
Four pre-drilled holes are convenient for hanging, and pre-drilled corner holes are convenient for installation on walls, doors, gates or fences. (Please note that it does not include screws. )

Specification:
Material: tinplate/metal
Size: 20x30cm/7.87x11.81in
30x40cm/11.8x15.7inch
Applicable scenes: home, bar, coffee shop, KTV, etc.
Function: both door frame and wall hanging

Note:
Some vintage metal signs are designed with rusty texture, which is not a quality problem.
Due to the different monitor and light effect, the actual color of the item might be slightly different from the color showed on the pictures. Thank you!
Please allow 1-2cm measuring deviation due to manual measurement.  

Tu pourrais aussi aimer Don't Like These?
const TAG = 'spz-custom-add-to-cart'; class SpzCustomAddToCart extends SPZ.BaseElement { constructor(element) { super(element); this.plugin_timestamp = Date.now(); this.defaultColorConfig = { module_bg: "#FFFFFF", button_bg: "#E84926", button_color: "#FFFFFF", text_color: "#202020", price_color: "#E84926", border_color: "#E6E6E6", border_bg: "#FFFFFF", round_size: '4' }; this.config = this.defaultColorConfig; this.originStickyTop = 0; this.qty = 1; this.variantId = this.element.getAttribute('variant-id'); this.trackMap = { qty: this.trackQty.bind(this), variant: this.trackVariant.bind(this), addToCart: this.trackAddtoCart.bind(this), atcView: this.trackAtcView.bind(this), } this.isHasView = false; this.isFirstUpdateVariant=false; } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.locale_ = SPZServices.localeFor(this.win); this.hasGlobalAtcListener = !!document.querySelector('#add-cart-event-proxy'); this.setupAction_(); } mountCallback() { // 初始化 this.init(); } async init() { // 如果不是详情页,不需要执行后面js if (window.SHOP_PARAMS.template_type !== '1') return; await this.setLocale(); this.handleIsRender(); this.bingEvents(); } bingEvents() { // 设备切换 重新渲染 window.addEventListener('resize', SPZCore.Types.debounce( this.win, (invocation) => { // 关闭弹窗, 解决切换屏幕尺寸不能滚动的问题 this.triggerEvent_('closeShopModal'); this.config = { ...this.config, isMobile: window.innerWidth < 768 ? true : false, position: window.innerWidth < 768 ? 'down' : this.config.display_position }; this.renderAddToCart(); }, 200 )) } // 获取多语言 async setLocale() { let data; try { //多语言 data = await this.locale_.i18n(['product', 'products']); } catch (error) { console.error(error); } this.i18n = { 'sold_out': 'Sold out', 'add_to_cart': 'Add to cart', 'unavailable': 'Unavailable', 'product_unavailable': 'Product is unavailable.', ...data?.product?.product_detail, ...data?.products?.product, } } getProductData() { let pJson = document.querySelector('#product-json'); if (pJson) { return JSON.parse(pJson.innerHTML)?.product; } else if (typeof $ === 'function') { return $(document).data('djproduct')?.product; } return undefined; } getAddCartBtn() { return document.querySelector('[data-section-type="product_detail"] [data-click="addToCart"], [data-section-type="product_detail"] [role="addToCart"], [data-section-type="product_detail"] [data-click="buyNow"], [data-section-type="product_detail"] [role="buyNow"], [data-section-type="product"] [data-click="addToCart"], [data-section-type="product"] [role="addToCart"], [data-section-type="product"] [data-click="buyNow"], [data-section-type="product"] [role="buyNow"]'); } handleObserver() { if(this.config.trigger_condition == 'theme_hidden') { const $addCartBtn = this.getAddCartBtn(); if($addCartBtn) { // 配置了加购/购买按钮; 设置按钮为observer观察目标 $addCartBtn.setAttribute('id', 'app-atc-need-sticky-buttons') } } } findAncestor(node, selector) { while (node) { if (node.querySelector(selector)) { return node; } node = node.parentElement; } return null; } getThemeProductInfoForm() { let $themeForm = ''; const $themeProductInfo = document.querySelector('[data-section-type="product_detail"], [data-section-type="product"]'); $themeForm = $themeProductInfo?.querySelector('form'); return $themeForm; } // 获取主题商品加购数量 getThemeQuantity() { let $themeForm = this.getThemeProductInfoForm(); if($themeForm) { const formData = new FormData($themeForm); const quantity = formData.get('quantity'); return quantity; } else { return null; } } getThemeInitVariantsData() { const $themeForm = this.getThemeProductInfoForm(); const formData = new FormData($themeForm); } // 获取主题初始表单数据 getThemeProductFormData = () => { const $themeForm = this.getThemeProductInfoForm(); if($themeForm) { const form_data = new FormData($themeForm); const form_data_format = {} for (const [key, value] of form_data) { form_data_format[key] = value; } return form_data_format; } else { return null; } } brightnessByColor(c) { let color = '' + c, isHEX = c.indexOf('#') == 0, isRGB = c.indexOf('rgb') == 0; let r, g, b; if (isHEX) { var m = color.substr(1).match(color.length == 7 ? /(\S{2})/g : /(\S{1})/g); if (m) { (r = parseInt(m[0], 16)), (g = parseInt(m[1], 16)), (b = parseInt(m[2], 16)); } } if (isRGB) { const m = color.match(/^rgba\((\d+),\s*(\d+),\s*(\d+),(\d+)\)$/); if (m) { (r = m[1]), (g = m[2]), (b = m[3]); } } if (typeof r != 'undefined') return (r * 299 + g * 587 + b * 114) / 1000; }; getSelectedVariant() { const product = this.getProductData(); return product.variants.find(item => item.id == this.variantId); } setSelectedOption(product) { const selectedVariant = this.getSelectedVariant(); const productData = Object.assign({}, product); // 处理下拉选项 productData?.options?.forEach(option => { option.selectList = []; option.values?.forEach(value => { let selectStatus = ''; selectedVariant?.options?.forEach(item => { if(item.name == option.name && item.value == value) { selectStatus = 'checked'; } }) option.selectList.push({name: option.name, value: value, checked: selectStatus}); }) }) return productData; } getSelectedSkuText() { const selectVariant = this.getSelectedVariant(); if(!selectVariant) { return ''; } const selectList = selectVariant.options; for (var i = 0; i < selectList.length; i++) { selectList[i].value = selectVariant[`option${i + 1}`]; } const selectedSkuText = selectList .map( item => { return item.value; }) .join('/'); return selectedSkuText; } // 是否展示 加购弹窗 getIsButtonClickInfo() { const product = this.getProductData(); const isMultipleProduct = product.available && !product.has_only_default_variant; // 多款式商品 const isButtonClickInfo = this.config.isMobile && (this.config.style_mobile === "mb_simple" || this.config.style_mobile === "mb_circle") && this.config.button_click_mobile === 'info' && isMultipleProduct; return isButtonClickInfo; } // 是否跟随主题的加购数量 isFollowThemeQty (移动端 simple、circle模版、 PC端 simple模版加购数量从主题获取) getIsFollowThemeQty() { const followThemeQtyMobile = (this.config.style_mobile === "mb_simple" || this.config.style_mobile === "mb_circle") && this.config.isMobile; const followThemeQtyPc = this.config.style === "simple" && !this.config.isMobile; const isFollowThemeQty = (followThemeQtyPc || followThemeQtyMobile) ? true : false; return isFollowThemeQty; } getBannerRenderData() { const product = this.getProductData(); // 当前选中变体 const selectedVariant = this.getSelectedVariant(); // 变体options下拉列表数据处理 const productData = this.setSelectedOption(product); // 选中的sku文案 const selectedSkuText = this.getSelectedSkuText(); // 是否展示 加购弹窗 const is_button_click_info = this.getIsButtonClickInfo(); // 主题是否有配置加购/购买按钮 const isHasAddCartBtn = this.getAddCartBtn() ? true : false; // 加购数量是否跟随主题 const isFollowThemeQty = this.getIsFollowThemeQty(); // 浅色背景颜色配置 const brightness = this.brightnessByColor(this.config.module_bg); const isDarkBg = brightness < 115; const renderData = { product: { ...productData, config: {...this.config}, selectedVariant, selectedSkuText, }, config: this.config, qty: this.qty, variant: selectedVariant, selectedVariant, selectedSkuText, is_button_click_info, isDarkBg, isHasAddCartBtn, isFollowThemeQty, i18n: this.i18n, hasGlobalAtcListener: this.hasGlobalAtcListener }; return renderData; } // render add_to_cart async renderAll() { const renderData = this.getBannerRenderData(); this.triggerEvent_('renderBanner', renderData); } getConfigData() { return fetch(`/api/add-to-cart-config`).then(res => { return res.json(); }); } async getConfig() { if(!this.config.hasOwnProperty('open_status')) { const res = await this.getConfigData(); if (res.state === 0 && res.data.open_status) { // config数据转化 this.transConfigData(res.data); } } return this.config; } transConfigData(data) { const resConfig = data; this.config = { ...this.config, ...resConfig, isMobile: window.innerWidth < 768 ? true : false, position: window.innerWidth < 768 ? 'down' : resConfig.display_position }; // 颜色跟随系统时 if(resConfig.color_setting === 'default' || resConfig.color_setting === 'theme') { this.config = { ...this.config, ...this.defaultColorConfig } } } // 是否应用到商店 async handleIsRender() { const res = await this.getConfigData(); if (res.state === 0 && res.data.open_status) { // config数据转化 this.transConfigData(res.data); this.handleObserver(); // 渲染加购内容 this.renderAddToCart(); } } renderAddToCart() { const product = this.getProductData(); if (product.product_type === 'gift_card') return ; if (!product.available) return; this.renderAll(); } // 选择变体 上报 trackVariant() { const product = this.getProductData(); window.sa && sa.track('plugin_atc_variant_click', { product_id: product.id, style: this.config.style, style_mobile: this.config.style_mobile }); } // 更改数量上报 trackQty() { const product = this.getProductData(); window.sa && sa.track('plugin_atc_qty_click', { product_id: product.id, style: this.config.style, style_mobile: this.config.style_mobile }); } // 加购上报 trackAddtoCart() { const product = this.getProductData(); let properties = ''; let source = 'atc'; if (this.config.button_action === 'checkout') { source = 'buy_now'; } const obj = { product_id: product.id, style: this.config.style, style_mobile: this.config.style_mobile, button_action: this.config.button_action, plugin_timestamp: this.plugin_timestamp }; const options = { product_id: product.id, variant_id: this.variantId, quantity: this.qty, source, variant: this.getSelectedVariant(), product: product, process: (window.SHOP_PARAMS.product_settings || {}).add_to_cart_process, properties: properties } // 注册曝光参数到add_to_cart事件 window.spzutm && window.spzutm.registerParams('add_to_cart', { add_to_cart: JSON.stringify(obj) }); window.sa && sa.track('plugin_atc_button_click', obj); this.trackHookAddTocart(); } trackAtcView() { const product = this.getProductData() if(!this.isHasView) { sa.track('plugin_atc_view', { product_id: product.id, button_action: this.config.button_action, style: this.config.style, style_mobile: this.config.style_mobile, plugin_timestamp: this.plugin_timestamp }); this.isHasView = true; } } trackHookAddTocart(options) { //FLASH及之后主题trigger事件上报采用HOOK window.djInterceptors && window.djInterceptors.track && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { id: options.product_id, number: options.quantity, childrenId: options.variant.id, item_price: options.variant.price, name: options.product.title, type: options.variant.type ? options.variant.type : options.product.type, properties: properties, quantity: options.quantity, variant_id: options.variant.id, product_id: options.product_id, source: 'atc', process: options.process }, once: true }); } // 加购弹窗 renderShopModal_() { const renderData = this.getBannerRenderData(); this.triggerEvent_('showAddToCartModal', renderData); } showSuccessToast() { this.triggerEvent_('showAddToCartToast'); } updateSelectVariant = async(selectedVariant, product) => { const configData = await this.getConfig(); const productData = this.setSelectedOption(product); const selectedSkuText = this.getSelectedSkuText(); const renderData = { ...productData, selectedVariant, config: configData, selectedSkuText }; this.triggerEvent_('variantChange', renderData); const renderBannerData = this.getBannerRenderData(); if(renderBannerData.is_button_click_info && this.config.style_mobile === "mb_circle") { this.triggerEvent_('renderBannerClickInfo', renderBannerData); } } getUrlVariantId() { const urlParams = new URLSearchParams(window.location.search); const variantId = urlParams.get('variant'); return variantId; } // 商详页变体切换 djVariantChange(detail) { const product = this.getProductData(); // 是否为商详页当前商品 const isDetailProduct = product?.id === detail?.product?.id; if(!detail || !isDetailProduct) { return; } const selectVariant = detail.selected; // 更新变体id const variantId = selectVariant.id; const oldVariantId = this.variantId; if(variantId) { this.triggerEvent_('renderSelectedVariant'); if(oldVariantId !== variantId || !this.isFirstUpdateVariant) { this.isFirstUpdateVariant = true; this.variantId = variantId; this.updateSelectVariant(selectVariant, detail.product); } } else if(!variantId){ // 主题未选中变体 const isDisabledAtc = this.disabledAtc(); if(isDisabledAtc) { this.triggerEvent_('renderBannerNoSelectedVariant', { product: detail.product }); } } } // 不展示变体的模版 isHiddenVariantsTemplate() { return ((this.config.style_mobile === 'mb_circle' || this.config.style_mobile === 'mb_simple') && this.config.isMobile) || (this.config.style === 'simple' && !this.config.isMobile); } // 主题未选中变体 isUnSelectedThemeVariants() { // 不展示变体的模版 const formData = this.getThemeProductFormData(); return (formData && formData.hasOwnProperty('variant_id') && (!formData.variant_id || formData.variant_id === 'undefined')); } // 禁用加购 disabledAtc() { // 不展示变体的模版 const isHiddenVariantsTemplate = this.isHiddenVariantsTemplate(); const isUnSelectedThemeVariant = this.isUnSelectedThemeVariants(); return isHiddenVariantsTemplate && isUnSelectedThemeVariant; } // 滚动至主题变体处 scrollToThemeVariant() { const themeFormEl = this.getThemeProductInfoForm(); if(themeFormEl) { this.triggerEvent_('showUnSelectedVariantTips'); setTimeout(() => { themeFormEl.scrollIntoView({ behavior: 'smooth' }); }, 1000); } } async setupAction_() { // 上报处理 this.registerAction('saTrack', async(invocation) => { const data = invocation.args; // this.trackMap[data.type]?.(); }) // 更新variantId this.registerAction('updateVriantId', async(invocation) => { const data = invocation.args.data; if(data.variant_id && data.variant_id != 'undefined') { this.variantId = data.variant_id; } }) // 渲染弹窗加购&购买按钮 this.registerAction('renderShopModal', async(invocation) => { this.renderShopModal_(); }) this.registerAction('bannerExtraRender', async(invocation) => { const renderData = this.getBannerRenderData(); if(renderData.is_button_click_info && this.config.style_mobile === "mb_circle") { this.triggerEvent_('renderBannerClickInfo', renderData); } }) // 加购数量同步 this.registerAction('handleAddToCart', async(invocation) => { // 主题未选中变体 const isDisabledAtc = this.disabledAtc(); if(isDisabledAtc) { this.scrollToThemeVariant(); return; } const quantity = this.getThemeQuantity(); if(this.config.button_action === "checkout" ) { this.triggerEvent_('updateQty', { quantity: Number(quantity) || this.qty }); this.triggerEvent_('handleBuyNow'); } else { this.triggerEvent_('updateQty', { quantity: Number(quantity) || this.qty }); this.triggerEvent_('handleAtc'); } }) // 渲染弹窗加购&购买按钮 this.registerAction('handleFixedBanner', async(invocation) => { // 固定定位时, 触发ljs-sticky 组件showSticky方法,展示banner if(this.config.trigger_condition == 'fixed') { this.triggerEvent_('showBanner'); // this.trackAtcView(); } }) this.registerAction('handleVariantsRender', async(invocation) => { const data = invocation.args.data; // 主题未选中变体 const isDisabledAtc = this.disabledAtc(); if(isDisabledAtc) { this.triggerEvent_('renderBannerNoSelectedVariant', { product: data }); return; } this.triggerEvent_('renderSelectedVariant', { product: data }); this.triggerEvent_('variantChange', data); }) this.registerAction('handleShowErrorToast', async(invocation) => { const data = invocation.args.data; if(data?.message) { this.triggerEvent_('showAtcErrorToast', data); } }) } 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.LOGIC; } } SPZ.defineElement(TAG, SpzCustomAddToCart)