【问题标题】:Do I have too many if statements on my theme.liquid file?我的 theme.liquid 文件中是否有太多 if 语句?
【发布时间】:2021-08-14 22:38:09
【问题描述】:

这是我在 theme.liquid 文件中的代码:

它告诉我的主题如果您登陆该集合,则加载哪个 css 文件

  
  {% if template contains 'hammersusa' %}
      {{ 'hammersusa.css' | asset_url | stylesheet_tag }}
{% else %}
       {{ 'shop.css' | asset_url | stylesheet_tag }}
{% endif %}
  
  {% if template contains 'brakefailure' %}
      {{ 'brakefailure.css' | asset_url | stylesheet_tag }}
{% else %}
       {{ 'shop.css' | asset_url | stylesheet_tag }}
{% endif %}
  
  {% if template contains 'lotsofconcerns' %}
      {{ 'lotsofconcerns.css' | asset_url | stylesheet_tag }}
{% else %}
       {{ 'shop.css' | asset_url | stylesheet_tag }}
{% endif %}
  
  {% if template contains 'personalitems' %}
      {{ 'personalitems.css' | asset_url | stylesheet_tag }}
{% else %}
       {{ 'shop.css' | asset_url | stylesheet_tag }}
{% endif %}
      
  {% if template contains 'hammers1' %}
      {{ 'hammers1.css' | asset_url | stylesheet_tag }}
{% else %}
       {{ 'shop.css' | asset_url | stylesheet_tag }}
{% endif %}
  
  {% if template contains 'hitcinders' %}
      {{ 'hitcinders.css' | asset_url | stylesheet_tag }}
{% else %}
       {{ 'shop.css' | asset_url | stylesheet_tag }}
{% endif %} 

我的问题是当我想更改整个正文背景颜色或包装器背景颜色时,它只允许我在我尝试更改正文背景时在我的最后一个 if 语句中执行此操作“hitcinders.css”说'brakefailure.css' 它会加载我原生 shop.css 文件的主体背景。

我试图将它们组合到 else if 语句中,这给了我另一个问题。

有什么建议吗?网址是https://hammersusa.com

同样,https://hammersusa.com/collections/hit-cinders 是正确的,我正在尝试为导航中的后续集合这样做。

提前谢谢你。

【问题讨论】:

    标签: css shopify liquid


    【解决方案1】:

    好吧,我应该看看 else if 的流动语法。他们如此奇怪地使用 {% elsif %}...

    这是正确的:

          {{ 'hammersusa.css' | asset_url | stylesheet_tag }}
      {% elsif template contains 'brakefailure' %}
          {{ 'brakefailure.css' | asset_url | stylesheet_tag }}
      {% elsif template contains 'hitcinders' %}
          {{ 'hitcinders.css' | asset_url | stylesheet_tag }}
      {% elsif template contains 'hammers1' %}
          {{ 'hammers1.css' | asset_url | stylesheet_tag }}
      {% elsif template contains 'lotsofconcerns' %}
          {{ 'lotsofconcerns.css' | asset_url | stylesheet_tag }}
      {% elsif template contains 'personalitems' %}
          {{ 'personalitems.css' | asset_url | stylesheet_tag }}
    {% else %}
           {{ 'shop.css' | asset_url | stylesheet_tag }}
      
    {% endif %}
    

    【讨论】:

    • 如果css文件名和模板后缀相同,可以使用assign/capture函数,缩减为单个if ... else
    • 怎么使用assign和capture?
    猜你喜欢
    • 2014-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-20
    • 2016-11-29
    • 1970-01-01
    • 2020-10-25
    相关资源
    最近更新 更多