【发布时间】:2016-11-18 06:49:00
【问题描述】:
在<form action="/cart/add">里面我正在使用
<input type="hidden" name="properties[myId]" />
为产品添加一些技术 ID,然后在购买产品时使用挂钩读取这些 ID。一切正常,除了我的隐藏输入在购物车中可见(而且看起来不太好)。有没有办法添加没有出现在购物车的产品描述中但仍然是项目属性的一部分的属性?
【问题讨论】:
在<form action="/cart/add">里面我正在使用
<input type="hidden" name="properties[myId]" />
为产品添加一些技术 ID,然后在购买产品时使用挂钩读取这些 ID。一切正常,除了我的隐藏输入在购物车中可见(而且看起来不太好)。有没有办法添加没有出现在购物车的产品描述中但仍然是项目属性的一部分的属性?
【问题讨论】:
在名称开头放置下划线会隐藏属性:<input type="hidden" name="properties[_myId]" />
注意:虽然这对于大多数主题都是正确的,但我已经看到一些不尊重这一点的主题......请谨慎使用。
【讨论】:
将它们添加到购物车属性。使用attributes[myId] 而不是properties[myId]
更多详情 - Get more information on your cart page with cart attributes
【讨论】:
编辑:这个答案是错误的。正如Francois' answer 所表明的,可以隐藏属性而不需要商家编辑他们的液体代码。
如果你看一下你的“cart.liquid”,里面应该有一些像这样的代码:
{% for p in item.properties %}
...
{% endfor %}
如果您想将某些信息存储在订单项的属性中而不显示在购物车页面上,则需要编辑流动代码以防止其被输出。一种方法是记住需要隐藏的属性的名称,并使用 if 或 unless 阻止它们输出:
{% for p in item.properties %}
{% unless p.first == 'hidden_prop_1' or p.first == 'hidden_prop_2' %}
...
{% endunless %}
{% endfor %}
【讨论】: