删除下拉列表中的特定产品选项

Remove specific product option inside a dropdown

我想知道是否可以删除特定产品选项下拉列表并将其显示在 <p> 标签内或仅显示普通字符串?假设我有 3 个产品选项:

  1. 颜色
  2. 尺寸
  3. 类型

我们都知道所有这些选项都将显示在下拉菜单中。比如我想将 Size 选项显示为普通字符串或文本呢?我们该怎么做?

为了更清楚,这里有一张图片。

product.liquid

<select name="id" id="ProductSelect" class="product-single__variants">
   {% for variant in product.variants %}
   {% if variant.available %}
      <option {% if variant == product.selected_or_first_available_variant %} selected="selected" {% endif %} data-sku="{{ variant.sku }}" value="{{ variant.id }}">{{ variant.title }} - {{ variant.price | money_with_currency }}    </option>
   {% else %}
      <option disabled="disabled">
         {{ variant.title }} - {{ 'products.product.sold_out' | t }}
      </option>
   {% endif %}
   {% endfor %}
</select>

您必须修改 product.liquid 模板,而不是那个下拉列表,您必须将其创建为 LI 或文本,您已为其设置。

我刚刚找到了这个问题的答案。我会 post 在这里帮助其他人遇到和我一样的问题。

在product.liquid中:

<!--   product options -->
   {% capture option_titles %}Size,Flavor{% endcapture %}

      {% assign option_titles = option_titles | split:',' %}
         {% for option in product.options %}
           {% if option_titles contains option %}
           {% capture option_index %}option{{ forloop.index }}{% endcapture %}
           {% assign option_values = product.variants | map: option_index | uniq %}
           {% if option == 'Flavor' and option_values.size > 1 %}
            <label for="option">{{ option }}</label>
            {{ option_values | join:', ' }}
           {% elsif option_values.size == 1 %}
            <label for="option">{{ option }}</label>
            {{ option_values }}
           {% endif %}
          {% endif %}
         {% endfor %}
<!--  end product options --->