首页 > 解决方案 > Shopify LinkList 循环使用动态变量

问题描述

我有一段代码在几页上使用。这段代码中唯一改变的是链接列表的变量。如何重构此代码以便我可以使用变量而不是静态代码?

<div class="featured-collections">
  <div class="frow justify-start">
    {% for link in linklists.book.links %}
    <div class="collection-thumb">
      <img class="collection-thumb-img" src="{{ link.object.featured_image | img_url: 'medium' }}">
      <h3 class="collection-thumb-title">
        <a href="{{ link.url }}">{{ link.object.title | escape }}</a><br/>
      </h3>
      {{ link.object.price | money }}<br/>
      <p>Book Now</p>
    </div>
  {% endfor %}
  </div>
</div>

我试过这个:

// Code for Variable Component - variable-linklist.liquid
{% for link in linklists.c.links %}
...
{% endfor %}

// Code for Book Page - page.book.liquid
{% assign c = "book" %}
{% include "variable-linklist" with "c" %}

但这没有用。

标签: shopify

解决方案


书页代码 - page.book.liquid

{% assign c = "book" %}
{% include "variable-linklist" with linklistHandle: c %}

变量组件的代码 - variable-linklist.liquid

{% for link in linklists[linklistHandle].links %}
...
{% endfor %}

或者

书页代码 - page.book.liquid

{% assign c = "book" %}
{% include "variable-linklist" with c %}

变量组件的代码 - variable-linklist.liquid

{% for link in linklists[variable-linklist].links %}
...
{% endfor %}

当您仅使用with c该值时,该值将分配给名称与代码段名称相同的变量。


推荐阅读