首页 > 解决方案 > 基于模板文件的 Shopify 代码段的条件格式

问题描述

我的 Shopify 产品页面中有一个块,该块在一个名为 的片段中说明了产品的可用性,product-page-1-description.liquid它传递了一些文件以获取product-template.liquid. 我的问题是礼品卡也使用此文件来显示产品信息,我需要特别删除/隐藏它们的可用性行。

这是我的问题:我可以根据调用文件的模板(礼品卡/产品)运行液体条件来显示/隐藏此块吗?仅仅创建一个全新的片段似乎很浪费。谢谢!

#product-page-1-description.liquid

 {%- if item.show_product_main_info -%}
  <div class="tt-add-info">
    <ul>
      {%- if item.show_quantity -%}
      <li class="availability">
        <span>{{ 'products.product.availability' | t }}</span>
        {% if product.available %}
        <span class="stock_quantity hide"></span> <span class="in_stock hide">{{ 'products.product.in_stock' | t }}</span> <span class="many_in_stock hide">{{ 'products.product.many_in_stock' | t }}</span> <span class="sold_out hide">{{ "products.product.sold_out" | t }}</span> <span class="continue_out hide">{{ "products.product.purchase_when_out_of_stock" | t }}</span>
        {% else %}
        <span class="sold_out">{{ "products.product.sold_out" | t }}</span>
        {% endif %}
      </li>
      {%- endif -%}
    </ul>
  </div>

标签: conditional-statementsshopifyliquidshopify-template

解决方案


当您product-page-1-description.liquidtemplates/gift_card.liquid 添加变量调用中调用时giftCard

{% include 'product-page-1-description.liquid', giftCard: true %}

并且在显示可用性时,检查条件

 {%- if item.show_product_main_info -%}
      <div class="tt-add-info">
        <ul>
          {% unless giftCard %}
              {%- if item.show_quantity -%}
              <li class="availability">
                <span>{{ 'products.product.availability' | t }}</span>
                {% if product.available %}
                <span class="stock_quantity hide"></span> <span class="in_stock hide">{{ 'products.product.in_stock' | t }}</span> <span class="many_in_stock hide">{{ 'products.product.many_in_stock' | t }}</span> <span class="sold_out hide">{{ "products.product.sold_out" | t }}</span> <span class="continue_out hide">{{ "products.product.purchase_when_out_of_stock" | t }}</span>
                {% else %}
                <span class="sold_out">{{ "products.product.sold_out" | t }}</span>
                {% endif %}
              </li>
              {%- endif -%}
            {% endunless %}
        </ul>
      </div>

推荐阅读