Loops Shopify部分中的forloop.index出现问题
我正在Shopify的动态选项卡部分工作,但面临一个问题。我创建了两个循环,一个用于选项卡的href标记,另一个用于关联的内容元素。我需要前者引用后者,但在我当前的代码中,href标记中的输出显示1或2,但在选项卡内容中,它们从3开始。请帮帮我 我的HTML/Liquid:Loops Shopify部分中的forloop.index出现问题,loops,iteration,shopify,liquid,Loops,Iteration,Shopify,Liquid,我正在Shopify的动态选项卡部分工作,但面临一个问题。我创建了两个循环,一个用于选项卡的href标记,另一个用于关联的内容元素。我需要前者引用后者,但在我当前的代码中,href标记中的输出显示1或2,但在选项卡内容中,它们从3开始。请帮帮我 我的HTML/Liquid: <ul class="tabs-nav"> {%- for block in section.blocks -%} {% if block.type == 'tab-title' %} &
<ul class="tabs-nav">
{%- for block in section.blocks -%}
{% if block.type == 'tab-title' %}
<li class="tab-active">
<a href="#tab-{{ forloop.index | plus: 1 }}">
{{ block.settings.serv_title }}
</a>
</li>
{% endif %}
{%- endfor -%}
</ul>
<div class="tabs-stage">
{%- for block in section.blocks -%}
{% if block.type == 'tab-content' %}
<div id="tab-{{ forloop.index }}" style="display: block;">
{{ block.settings.serv_cont }}
</div>
{% endif %}
{%- endfor -%}
</div>
我认为问题在于设置模式的结构。听起来您当前分别有标题块和内容块的模式(使用当前的配置设置数据,您总共有四个块)。您可以为一个包含相关标题和内容的块使用模式。然后,您只需使用一个for循环(尽管您必须捕获标题、捕获内容,并将每个内容分别输出到HTML中) 话虽如此,使用现有代码,您可以做到这一点(假设设置数据中标题和内容块的数量始终相等,并且它们在拖放编辑器中的顺序正确):
{%-assign titleIndex=0-%}
{%-for section.blocks-%}
{%if block.type='选项卡标题“%”
{%-assign titleIndex=0 |加:1-%}
-
{%endif%}
{%-endfor-%}
{%-assign contentIndex=0-%}
{%-for section.blocks-%}
{%if block.type='选项卡内容“%”
{%-assign contentIndex=0 |加:1-%}
{{block.settings.serv_cont}
{%endif%}
{%-endfor-%}
我认为您的javascript没有那么重要,最好是包含您的设置模式。
$('.tabs-nav a').on('click', function (event) {
event.preventDefault();
$('.tab-active').removeClass('tab-active');
$(this).parent().addClass('tab-active');
$('.tabs-stage div').hide();
$($(this).attr('href')).show();
});
$('.tabs-nav a:first').trigger('click');
<ul class="tabs-nav">
{%- assign titleIndex = 0 -%}
{%- for block in section.blocks -%}
{% if block.type == 'tab-title' %}
{%- assign titleIndex = 0 | plus: 1 -%}
<li class="tab-active">
<a href="#tab-{{ titleIndex }}">
{{ block.settings.serv_title }}
</a>
</li>
{% endif %}
{%- endfor -%}
</ul>
<div class="tabs-stage">
{%- assign contentIndex = 0 -%}
{%- for block in section.blocks -%}
{% if block.type == 'tab-content' %}
{%- assign contentIndex = 0 | plus: 1 -%}
<div id="tab-{{ contentIndex }}" style="display: block;">
{{ block.settings.serv_cont }}
</div>
{% endif %}
{%- endfor -%}
</div>