【发布时间】:2019-02-17 02:01:22
【问题描述】:
我在产品信息页面上,想知道是否可以获取产品所在的当前集合,以便我可以做一些事情。我怎样才能得到当前的收藏?我试过collection.title,它没有显示任何东西。
【问题讨论】:
我在产品信息页面上,想知道是否可以获取产品所在的当前集合,以便我可以做一些事情。我怎样才能得到当前的收藏?我试过collection.title,它没有显示任何东西。
【问题讨论】:
为了获取 CURRENT 集合,您的 URL 中必须有集合句柄。
例如,如果产品 URL 类似于 /collections/COLLECTION_HANDLE/products/PRODUCT_HANDLE,您将可以访问当前集合。
在您的情况下,由于您无权访问集合标题,我假设您的 URL 只是 /products/PRODUCT_HANDLE。
这意味着您正在生成错误的 URL(不是错误,但不是完整的)。您必须在您的收藏中查找product.url 并添加过滤器within: collection。
所以你的收集液体代码应该是这样的
{% for product in collection.products %}
... SOME OUTPUT ...
<a href="{{ product.url | within: collection }}">Details</a>
{% endfor %}
这将强制您的产品 URL 也包含集合 URL。
【讨论】:
product.collections 数组,我没有说你可以。由于没有提供代码,我假设他从集合中访问了产品。
如果您的网址采用这种格式“/collections/COLLECTION_HANDLE/products/PRODUCT_HANDLE”,请尝试
试试这个:
此产品在 {{ collection.title }} 集合中。
【讨论】:
虽然可能分配了许多集合产品,但更好的方法是获取 URL 中的当前集合标题
注意:只有当集合在 URL 中时,您才能使用此代码在产品页面上执行操作。
{% assign product_collection = collection.title | link_to: product_collection.url %}
{% unless product_collection == blank %}
<h3>Current Collection is: {{ product_collection }}</h3>
{% endunless %}
【讨论】: