如果,elsif,否则:限制?液体

时间:2015-06-10 18:41:37

标签: javascript php css shopify liquid

尝试使用Liquid Templating Ruby engine创建ifelseif语句它似乎编码正确,但我没有遇到我期待的结果。

我期待当用户点击一个集合(MLB,NBA等)时,{% collection.handle包含"mlb" %}将会触发,并且其相应的代码块将会起作用。

对于这个if语句,是否存在任何不正常的内容?

<div class="carousel-wrap">

<!-- College Slider -->

{% if page.handle or collection.handle contains "collegiate" %}
<div style="margin-bottom:10px;" class="teams-carousel clearfix" id="ncaa-carousel">
<ul class="items clearfix">
    {% for link in linklists.team-carousel.links %}
        <li>
            {% capture src %}team-{{ link.title | handleize }}.png{% endcapture %}
            <a href="{{ link.url }}" style="background-image: url('{{ src | asset_url }}');"></a>
        </li>
    {% endfor %}
</ul>
</div>

{% elsif collection.current_type or collection.handle contains "mlb" %}

<!-- MLB Slider -->


<div style="margin-bottom: 10px; display: block !important;" class="teams-carousel" id="mlb-carousel">
<ul class="items clearfix">
    {% for link in linklists.mlb.links %}
        <li>
            {% capture src %}team-{{ link.title | handleize }}.png{% endcapture %}
            <a href="{{ link.url }}" style="background-image: url('{{ src | asset_url }}');"></a>
        </li>
    {% endfor %}
</ul>
</div>

{% elsif collection.current_type or collection.handle contains "nba" %}

<!-- NBA Slider -->

<div style="margin-bottom:10px;" class="teams-carousel clearfix" id="nba-carousel">
<ul class="items clearfix">
{% for link in linklists.nba-team-carousel.links %}
        <li>
            {% capture src %}team-{{ link.title | handleize }}.png{% endcapture %}
            <a href="{{ link.url }}" style="background-image: url('{{ src | asset_url }}');"></a>
        </li>
    {% endfor %}
</ul>
</div>

{% elsif collection.current_type or collection.handle contains "nhl" %}

<!-- NHL Slider -->

<div style="margin-bottom:10px;" class="teams-carousel clearfix" id="nhl-carousel">
<ul class="items clearfix">
    {% for link in linklists.nhl.links %}
        <li>
            {% capture src %}team-{{ link.title | handleize }}.png{% endcapture %}
            <a href="{{ link.url }}" style="background-image: url('{{ src | asset_url }}');"></a>
        </li>
    {% endfor %}
</ul>
</div>

{% elsif collection.current_type or collection.handle contains "mls" %}

<!-- MLS Slider -->

<div style="margin-bottom:10px;" class="teams-carousel clearfix" id="mls-carousel">
<ul class="items clearfix">
    {% for link in linklists.mls.links %}
        <li>
            {% capture src %}team-{{ link.title | handleize }}.png{% endcapture %}
            <a href="{{ link.url }}" style="background-image: url('{{ src | asset_url }}');"></a>
        </li>
    {% endfor %}
</ul>
</div> 

{% endif %}
</div>

1 个答案:

答案 0 :(得分:0)

  

我期待用户点击一个集合(MLB,NBA等){%   collection.handle包含&#34; mlb&#34; %}将触发及其各自的   代码块将发挥作用。

  

当用户点击某个集合时,我试图这样做   (MLB,NBA)他们会看到if中包含的代码块(滑块)   声明

让我觉得您希望在用户点击(某些内容)时显示内容。如果是这样的话,您将需要JavaScript,而不是Liquid。 Liquid评估(所有内容)并生成静态页面。点击&#34; save&#34;后,页面(有效)不会改变。因此,液体内容不会出现和消失。

但是,您可以使用JQuery使用JavaScript轻松显示/隐藏此内容。