【问题标题】:Shopify - hidden properties['...'] in /cart/add form are visible in shopping cartShopify - /cart/add 表单中的隐藏属性['...'] 在购物车中可见
【发布时间】:2016-11-18 06:49:00
【问题描述】:

<form action="/cart/add">里面我正在使用

<input type="hidden" name="properties[myId]" />

为产品添加一些技术 ID,然后在购买产品时使用挂钩读取这些 ID。一切正常,除了我的隐藏输入在购物车中可见(而且看起来不太好)。有没有办法添加没有出现在购物车的产品描述中但仍然是项目属性的一部分的属性?

【问题讨论】:

    标签: shopify product cart


    【解决方案1】:

    在名称开头放置下划线会隐藏属性:&lt;input type="hidden" name="properties[_myId]" /&gt;

    https://help.shopify.com/themes/customization/products/get-customization-information-for-products#hide-line-item-properties

    注意:虽然这对于大多数主题都是正确的,但我已经看到一些不尊重这一点的主题......请谨慎使用。

    【讨论】:

    • 哇,我不知道这是可能的!谢谢弗朗索瓦!
    【解决方案2】:

    将它们添加到购物车属性。使用attributes[myId] 而不是properties[myId]

    更多详情 - Get more information on your cart page with cart attributes

    【讨论】:

    • 或者您可以编辑 cart.liquid 以隐藏这些特定属性
    • 感谢@Hymnz,但属性在购物车级别(而属性在项目级别)。
    【解决方案3】:

    编辑:这个答案是错误的。正如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 %}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-29
      相关资源
      最近更新 更多