更改主题中的shopify标签

更改主题中的shopify标签,shopify,Shopify,我对Shopify主题非常陌生,我需要在我使用的主题中更改Shopify“产品尺寸”和“颜色”的标签,但我对更改它的循环感到困惑 这是我最接近的代码 {% form 'product', product, class:form_classes, novalidate: 'novalidate' %} {% unless product.has_only_default_variant %} {% for option in product.options_with_value

我对Shopify主题非常陌生,我需要在我使用的主题中更改Shopify“产品尺寸”和“颜色”的标签,但我对更改它的循环感到困惑

这是我最接近的代码

    {% form 'product', product, class:form_classes, novalidate: 'novalidate' %}
  {% unless product.has_only_default_variant %}
    {% for option in product.options_with_values %}
      <div class="selector-wrapper js product-form__item">
        <label {% if option.name == 'default' %}class="label--hidden" {% endif %}for="SingleOptionSelector-{{ forloop.index0 }}">
          {{ option.name }}
        </label>
        
        {% assign optionName = option.name | downcase %}
{%form'product',product,class:form_class,novalidate:'novalidate%}
{%除非product.has\u仅\u默认值\u变量%}
{product.options_中的选项的百分比,值为%}
{{option.name}
{%assign optionName=option.name | downcase%}
如果我更改option.name,它将同时更改两个标签名,而不仅仅是单个标签名。我附上了产品页面的截图来帮助解释这一点。我想对于一个经验丰富的shopify专业人士来说,这是一个愚蠢的问题。非常感谢您的帮助


顺便说一句,它之所以使用这些标签,是因为所有库存都是从第三方库存管理系统导入的。

听起来您必须依靠字符串操作才能将外部名称转换为客户友好的名称。有几种方法可以做到这一点——最好的方法可能取决于导入的选项名称的一致性或多样性

对于Liquid中提供给您的字符串操作函数的完整列表,我还将向您指出,在那里您将能够找到更多详细信息

方法1:简单移除过滤器 使用
| remove
删除我们不想保留的已知位。与所有过滤器一样,这些过滤器可以链接在一起

例如:

{{ option.name | remove: 'PA_' | remove: 'CLOTHING-' }}
{{ option.name | split: '_' | last | split: '-' | last }}
{% case option.name %}
  {% when 'PA_CLOTHING-SIZE' %}
    {% assign friendly_name = 'Size' %}
  {% when 'PA_COLOR' %}
    {% assign friendly_name = 'Color' %}

  {% default %}
    {% assign friendly_name = option.name %}

{% endcase %}
{{ friendly_name }}
方法2:分隔符拆分 如果有许多不同的前缀需要删除,则
|split
过滤器可能很有用。这个命令将字符串分解成一个片段数组,我们可以使用
first
last
过滤器获取所需的位

例如:

{{ option.name | remove: 'PA_' | remove: 'CLOTHING-' }}
{{ option.name | split: '_' | last | split: '-' | last }}
{% case option.name %}
  {% when 'PA_CLOTHING-SIZE' %}
    {% assign friendly_name = 'Size' %}
  {% when 'PA_COLOR' %}
    {% assign friendly_name = 'Color' %}

  {% default %}
    {% assign friendly_name = option.name %}

{% endcase %}
{{ friendly_name }}
方法3:广泛的手工制图 如果产品中的值没有遵循任何规则模式,您可能会陷入这样的境地:您必须手动将部分或所有选项名称映射到友好值。如果你发现自己身处困境,
案例
语句可能是你最好的选择:

例如:

{{ option.name | remove: 'PA_' | remove: 'CLOTHING-' }}
{{ option.name | split: '_' | last | split: '-' | last }}
{% case option.name %}
  {% when 'PA_CLOTHING-SIZE' %}
    {% assign friendly_name = 'Size' %}
  {% when 'PA_COLOR' %}
    {% assign friendly_name = 'Color' %}

  {% default %}
    {% assign friendly_name = option.name %}

{% endcase %}
{{ friendly_name }}

选项.name
将是Shopify admin中为该产品定义的任何选项名称。您可以使用字符串过滤器来更改打印的内容-需要更改的内容的逻辑是什么?是否总是删除特定的前缀?将破折号改为空格?还有什么吗?嗨@DaveB-PA_的颜色需要是颜色,大小需要是大小。我只需要删除PA。这是由外部库存管理系统引入的,id仍然需要是PA_颜色,但标签我只需要更改。谢谢Dave!第一个选项工作得很好,让我很容易理解,非常感谢,伙计。很高兴我能帮上忙!