Shopify 如何缩短此液态代码?

Shopify 如何缩短此液态代码?,shopify,liquid,Shopify,Liquid,我想用自定义HTML代码更新Shopify商店的“新订单通知”邮件,但在粘贴代码时,它并没有100%地粘贴。我联系了Shopify,他们告诉我没有字符限制,但文件大小限制为64或128 kb 该商店有18个主要类别(系列)。我要做的是确保产品根据类别名称进行分类 以下代码在自定义模板中出现18次(针对每个类别): {% if verse_kantenklaar_maaltijden_salades != blank %} <tr> <td colspan="2"&g

我想用自定义HTML代码更新Shopify商店的“新订单通知”邮件,但在粘贴代码时,它并没有100%地粘贴。我联系了Shopify,他们告诉我没有字符限制,但文件大小限制为64或128 kb

该商店有18个主要类别(系列)。我要做的是确保产品根据类别名称进行分类

以下代码在自定义模板中出现18次(针对每个类别):

{% if verse_kantenklaar_maaltijden_salades != blank %}
  <tr>
    <td colspan="2">
      <h2 style="margin-bottom:15px;margin-top:5px!important;font-weight:bold;">Verse kant-en-klaar maaltijden - salades</h2>
    </td>
  </tr>

  {% for line_item_id in verse_kantenklaar_maaltijden_salades %}
      {% for line_item in line_items %}
          {% capture line_item_string %}{{line_item.id}}{% endcapture %}
          {% if line_item_id == line_item_string %}

            {% assign bonus = 'no' %}

            {% for tag in line_item.product.tags %}
              {% if tag == 'Bonus' %}
                {% assign bonus = 'yes' %}
              {% endif %}
            {% endfor %}

            <tr>
              <td>
                <a href="{{ line_item.product.featured_image | product_img_url: 'master' }}"><img alt="" src="{{ line_item.product.featured_image | product_img_url: 'large' }}" style="width: 400px;"></a>
              </td>

              <td style="text-align:left;">{{ line_item.title }} ({{ line_item.product.metafields.global.item_size }})<br>
                  <span style="font-size:34px;font-weight:bold;">
                    {% if bonus == 'yes' %}
                      {{ line_item.product.metafields.global.wpob | round: 2 }}
                    {% else %}
                      {{ line_item.product.metafields.global.wpo | round: 2 }}
                    {% endif %}
                  </span>

                  {% if bonus == 'yes' %}
                    <span style="font-size:18px;font-weight:bold;">BONUS</span>
                  {% endif %}

                  {% if line_item.quantity > 1 %}<span class="item_count" style="display: block;position: relative;width: 50px;text-align: center;background-color: #d14836;color: white;font-weight: 700;min-width: 80px;line-height: 40px;border-radius: 50px;">{{ line_item.quantity }}</span>{% endif %}
              </td>
            </tr>

          {%endif%}
      {% endfor %}
  {% endfor %}
{% endif %}
{%if verse_kantenklaar_maaltijden_salades!=blank%}
康德·恩克拉尔·马尔蒂伊登·萨拉德斯诗
{kantenklaar_maaltijden_salades%一诗中第行项目id的百分比}
{第_行项目%中第_行项目的百分比}
{%capture line_item_string%}{{line_item.id}{%endcapture%}
{%如果行项目id==行项目字符串%}
{%分配奖金='否'%}
{u item.product.tags%}行中标记的%
{%if标记=='奖金'%}
{%分配奖金='是'%}
{%endif%}
{%endfor%}
{{line_item.title}({{line_item.product.metafields.global.item_size}})
{%如果奖金='是'%} {{line_item.product.metafields.global.wpob | round:2}} {%else%} {{line_item.product.metafields.global.wpo | round:2}} {%endif%} {%如果奖金='是'%} 奖金 {%endif%} {%if line_item.quantity>1%}{{line_item.quantity}}{%endif%} {%endif%} {%endfor%} {%endfor%} {%endif%}
有关完整代码(包含3个类别),请参阅

有没有办法简化(使用循环)或压缩它,以确保总模板保持在Shopify限制内


或者这可能是由其他原因造成的?代码总长度约为1500行。

对于任何感兴趣的人,这里是更高效的版本(感谢Evulse):


这是代码审查,因此,与本网站无关。如果你删掉前导空格,你发布的要点将从~5kb变为~4kb。如果您将其复制了18次,则节省了18k。@Jubobs 1。在其他地方谈论话题并不意味着在这里偏离话题。2.对我来说,这听起来有些破绽,破绽的代码在CR上是特别离题的。@RubberDuck我根本不建议迁移到CR;然而,问题的措辞(“是否有简化[…]的方法”)明确表明这是一个代码审查问题,因此不适合这样做。但做你认为最好的。@Jubobs,尽管如此,我认为这两个网站都不适合。
{% assign sort_array = "" %}

{% for line_item in cart.items %}
    {% for tag in line_item.product.tags %} 
        {% if tag == 'Tag I want second' %}
            {% assign sort_array = sort_array | append: 'B:' | append: line_item.id | append: ',' %}
        {% endif %}
        {% if tag == 'Tag I want First' %}
            {% assign sort_array = sort_array | append: 'A:' | append: line_item.id | append: ',' %}
        {% endif %}  
        {% if tag == 'Tag I want Third' %}
            {% assign sort_array = sort_array | append: 'C:' | append: line_item.id | append: ',' %}
        {% endif %} 
    {% endfor %}
{% endfor %}

{% assign sort_array = sort_array | split: ',' | sort %}

{% for prefixed_line_item_id in sort_array %}
    {% for line_item in cart.items %}
        {% capture line_item_string %}{{line_item.id}}{% endcapture %}
        {% assign line_item_id = prefixed_line_item_id | split: ':' | last %}
        {% if line_item_id == line_item_string %} 
            {{line_item.product.title}}
        {%endif%}
    {% endfor %}
{% endfor %}