如何在Bigcommerce中使用YAML获取全部产品而非仅新品?
获取Bigcommerce Stencil主题中的全部产品
看起来你遇到的问题是主题自定义的products.new配置导致默认的products对象只返回新品数据——这个products.new并不是Bigcommerce Stencil的原生全局属性,所以官方文档和后台都找不到对应的设置,应该是主题开发者自己加的自定义逻辑,用来筛选并展示新品。
要获取网站的全部产品,你可以用Stencil原生的{{getProducts}}辅助标签来绕过这个自定义的新品限制,具体用法如下:
{{#getProducts limit="100" sort="date_created"}} {{#each products}} <!-- 这里可以渲染你的产品内容,比如名称、价格等 --> <div class="product-item"> <h3>{{name}}</h3> <p>{{price.formatted}}</p> </div> {{else}} <p>No products found.</p> {{/each}} {{/getProducts}}
关键参数说明:
limit:设置你要获取的产品数量,你的网站有45+款,设成100就足够覆盖全部产品了;sort:可选参数,用来指定产品排序规则,比如date_created(按创建时间)、price(按价格)等;- 你还可以添加其他参数,比如
category来指定某个分类下的产品,或者sku来筛选特定SKU的产品。
另外,你可以检查主题的模板文件(比如首页的pages/home.html或者相关组件文件),看看是不是有代码把products变量替换成了新品数据集,比如通过自定义的筛选逻辑只保留了is_new为true的产品,这样就能理解为什么{{log products}}只返回新品了。
内容的提问来源于stack exchange,提问作者Syn
相关产品推荐
相关产品推荐

