Bigcommerce - 在特定 Category/Product 上显示某些 Message/Image
Bigcommerce - Display Certain Message/Image on a specific Category/Product
我是 Big Commerce 的新手,我对如何在特定类别上显示图像/特定消息有疑问。
我目前在所有产品上都显示了免费送货图片,但我不希望在某个类别中显示该代码片段。
我怎样才能做到这一点?
显示免费送货图片的方法是修改 card.html 文件
模板 > 组件 > 产品 > card.html
谢谢!
您可以尝试豁免该类别(通过 ID 或名称),特别是使用条件语句。
例如,您可以尝试:
{{#unless category.id '==' 5321}}
Free shipping!
{{/unless}}
或 if/else:
{{#if category.id '==' 5321}}
No free shipping!
{{else}
Free shipping!
{{/if}}
谢谢,但它似乎仍然无法正常工作。
你的代码也有问题
你有{{/unless}} instead of {{/if}}
所以这就是我使用的:
{{#if category.id '==' 70}}
No free shipping!
{{else}}
Free shipping!
{{/if}}
I've attached the Category ID which is 70
商店中的所有商品仍然显示免费送货
如果您想从单个类别中删除 "Free Shipping",请使用以下代码修复它。
{{#if id '!=' 70 }} Free Shipping Message}} {{/if}}
如果它对你不起作用,那么我建议你 post 此处的 "Card File" 代码,以便我可以检查你在代码中到底写了什么。
<article class="card {{#if alternate}}card--alternate{{/if}}">
<figure class="card-figure">
{{#or price.non_sale_price_with_tax price.non_sale_price_without_tax}}
{{#if theme_settings.product_sale_badges '===' 'sash'}}
<div class="sale-flag-sash">
<span class="sale-text">On Sale!</span>
</div>
{{else if theme_settings.product_sale_badges '===' 'topleft'}}
<div class="sale-flag-side">
<span class="sale-text">On Sale!</span>
</div>
{{else if theme_settings.product_sale_badges '===' 'burst'}}
<div class="starwrap">
<div class="sale-text-burst">On Sale!</div>
<div class="sale-flag-star"></div>
</div>
{{/if}}
{{/or}}
{{#if demo}}
<img class="card-image lazyload" data-sizes="auto" src="{{cdn 'img/loading.svg'}}" data-src="{{getImage image 'productgallery_size' (cdn theme_settings.default_image_product)}}" alt="{{image.alt}}" title="{{image.alt}}">
{{else}}
<div class="card-image-container">
<a href="{{url}}">
<img class="card-image lazyload" data-sizes="auto" src="{{cdn 'img/loading.svg'}}" data-src="{{getImage image 'productgallery_size' (cdn theme_settings.default_image_product)}}" alt="{{image.alt}}" title="{{image.alt}}">
</a>
</div>
{{/if}}
</figure>
<div class="card-body">
<h4 class="card-title">
{{#if demo}}
{{name}}
{{else}}
<a href="{{url}}">{{name}}</a>
{{/if}}
</h4>
<div class="card-text" data-test-info-type="price">
{{#or customer (if theme_settings.restrict_to_login '!==' true)}}
{{> components/products/price price=price customer=customer}}
{{else}}
{{> components/common/login-for-pricing}}
{{/or}}
</div>
<p class="card-text" data-test-info-type="productRating">
<span class="rating--small">
{{> components/products/ratings rating=rating}} <span style="color:gray;">{{#if num_reviews '>' 0}}</span>
({{num_reviews}}) Review{{#if num_reviews '>' 1}}s
{{/if}}{{/if}}
</span>
</p>
{{#if id '!=' 70 }}
<span><img src="https://cdn7.bigcommerce.com/s- 7iywz/product_images/uploaded_images/free-shipping-banner.jpg?t=1525811996&_ga=2.165904830.1847420277.1525706943-52562068.1494873040"></span>
{{/if}}
</div>
</article>
我已经修改了你的代码,只需复制并粘贴到你的主题中即可。
您可以考虑在特定类别上通过横幅插入图片。
在此之后,您可以通过 jQuery 注入 css 或使用普通 css 覆盖以在任何您喜欢的地方显示横幅。
你的商店。xyz/manage/marketing/banners/create
编辑 1
将您的 div 包装成 if 也应该可以解决您在某些产品中显示该图片的问题。
{{#if product.shipping}}
{{#if product.shipping.price.value '===' 0}}
<img class="yourImgClass">{{imgURL}}
{{/if}}
{{/if}}
编辑 2
这是从您的特定类别中删除某些元素的 JS 方法:
var url = location.href;
if ( url.indexOf( 'your-url' ) !== -1 ) {
document.getElementById('your-free-shipping-image-id').remove();
console.log("yay, image bye");
}
else {
console.log("nay, image stays");
}
编辑 3
这是一种对 jQuery 知识有限的轮班变通方法。如果您可以将 ID 放在图像环绕 span 元素上,这会容易得多,但我认为您会接受的。
将其放在页脚上,在括号内。
$(document).ready(function() {
var s = $('img[src*="https://cdn7.bigcommerce.com/s-7iywz/product_images/uploaded_images/free-shipping-banner.jpg"]');
var url = location.href;
console.log(s.length);
if ( url.indexOf( 'framed' ) !== -1 ) {
s.remove();
}
});
我是 Big Commerce 的新手,我对如何在特定类别上显示图像/特定消息有疑问。
我目前在所有产品上都显示了免费送货图片,但我不希望在某个类别中显示该代码片段。
我怎样才能做到这一点?
显示免费送货图片的方法是修改 card.html 文件
模板 > 组件 > 产品 > card.html
谢谢!
您可以尝试豁免该类别(通过 ID 或名称),特别是使用条件语句。
例如,您可以尝试:
{{#unless category.id '==' 5321}}
Free shipping!
{{/unless}}
或 if/else:
{{#if category.id '==' 5321}}
No free shipping!
{{else}
Free shipping!
{{/if}}
谢谢,但它似乎仍然无法正常工作。
你的代码也有问题
你有{{/unless}} instead of {{/if}}
所以这就是我使用的:
{{#if category.id '==' 70}}
No free shipping!
{{else}}
Free shipping!
{{/if}}
I've attached the Category ID which is 70
商店中的所有商品仍然显示免费送货
如果您想从单个类别中删除 "Free Shipping",请使用以下代码修复它。
{{#if id '!=' 70 }} Free Shipping Message}} {{/if}}
如果它对你不起作用,那么我建议你 post 此处的 "Card File" 代码,以便我可以检查你在代码中到底写了什么。
<article class="card {{#if alternate}}card--alternate{{/if}}">
<figure class="card-figure">
{{#or price.non_sale_price_with_tax price.non_sale_price_without_tax}}
{{#if theme_settings.product_sale_badges '===' 'sash'}}
<div class="sale-flag-sash">
<span class="sale-text">On Sale!</span>
</div>
{{else if theme_settings.product_sale_badges '===' 'topleft'}}
<div class="sale-flag-side">
<span class="sale-text">On Sale!</span>
</div>
{{else if theme_settings.product_sale_badges '===' 'burst'}}
<div class="starwrap">
<div class="sale-text-burst">On Sale!</div>
<div class="sale-flag-star"></div>
</div>
{{/if}}
{{/or}}
{{#if demo}}
<img class="card-image lazyload" data-sizes="auto" src="{{cdn 'img/loading.svg'}}" data-src="{{getImage image 'productgallery_size' (cdn theme_settings.default_image_product)}}" alt="{{image.alt}}" title="{{image.alt}}">
{{else}}
<div class="card-image-container">
<a href="{{url}}">
<img class="card-image lazyload" data-sizes="auto" src="{{cdn 'img/loading.svg'}}" data-src="{{getImage image 'productgallery_size' (cdn theme_settings.default_image_product)}}" alt="{{image.alt}}" title="{{image.alt}}">
</a>
</div>
{{/if}}
</figure>
<div class="card-body">
<h4 class="card-title">
{{#if demo}}
{{name}}
{{else}}
<a href="{{url}}">{{name}}</a>
{{/if}}
</h4>
<div class="card-text" data-test-info-type="price">
{{#or customer (if theme_settings.restrict_to_login '!==' true)}}
{{> components/products/price price=price customer=customer}}
{{else}}
{{> components/common/login-for-pricing}}
{{/or}}
</div>
<p class="card-text" data-test-info-type="productRating">
<span class="rating--small">
{{> components/products/ratings rating=rating}} <span style="color:gray;">{{#if num_reviews '>' 0}}</span>
({{num_reviews}}) Review{{#if num_reviews '>' 1}}s
{{/if}}{{/if}}
</span>
</p>
{{#if id '!=' 70 }}
<span><img src="https://cdn7.bigcommerce.com/s- 7iywz/product_images/uploaded_images/free-shipping-banner.jpg?t=1525811996&_ga=2.165904830.1847420277.1525706943-52562068.1494873040"></span>
{{/if}}
</div>
</article>
我已经修改了你的代码,只需复制并粘贴到你的主题中即可。
您可以考虑在特定类别上通过横幅插入图片。 在此之后,您可以通过 jQuery 注入 css 或使用普通 css 覆盖以在任何您喜欢的地方显示横幅。
你的商店。xyz/manage/marketing/banners/create
编辑 1
将您的 div 包装成 if 也应该可以解决您在某些产品中显示该图片的问题。
{{#if product.shipping}}
{{#if product.shipping.price.value '===' 0}}
<img class="yourImgClass">{{imgURL}}
{{/if}}
{{/if}}
编辑 2
这是从您的特定类别中删除某些元素的 JS 方法:
var url = location.href;
if ( url.indexOf( 'your-url' ) !== -1 ) {
document.getElementById('your-free-shipping-image-id').remove();
console.log("yay, image bye");
}
else {
console.log("nay, image stays");
}
编辑 3 这是一种对 jQuery 知识有限的轮班变通方法。如果您可以将 ID 放在图像环绕 span 元素上,这会容易得多,但我认为您会接受的。 将其放在页脚上,在括号内。
$(document).ready(function() {
var s = $('img[src*="https://cdn7.bigcommerce.com/s-7iywz/product_images/uploaded_images/free-shipping-banner.jpg"]');
var url = location.href;
console.log(s.length);
if ( url.indexOf( 'framed' ) !== -1 ) {
s.remove();
}
});