如何抓取产品属于哪个集合?

How to grab what collection a product belongs to?

我试图在 运行 循环时获取产品所属的集合,但所有 returns 都是 collectiondrop 作为输出。示例:

{% for product in collections.all.products %}
{{ product.collections }} //each product belongs to one collection only.
{% endfor %}

这是在产品页面上,例如相关产品。所以当我尝试这样的事情时:

{{ product.url | within:collection }}

它获取我正在查看的产品的当前集合,并且它与列出的产品没有关联。所以结果 url 变成

/product/item-name

而不是

/collection/some-name/product/some-product-name

这就是我要找的。

即使产品属于单个collection,collection object仍然是一个数组,所以你应该这样称呼它:

{% for product in collections.all.products %}
{{ product.collections[0] }}
{% endfor %}

请记住,您必须从 collection 中指定您想要的内容,否则它将 return collection 掉落,例如 {{ product.collections[0].url }} 就可以了。

当你陷入这种困境时,使用 json 过滤器来检查什么是 object returning(在这个例子中它可能不允许你看到object json)。