FROM LOAD - jp_header
解決済

【for文の使い方】liquidファイル内でforループの変数に演算子を使う方法

nishi-ec
Shopify Partner
38 3 4

テーマはDawnを利用しています。

初歩的なことかもしれませんが、forの使い方についてアドバイスいただけますと助かります。

実現したいこと

リキッドファイル内の下記のコードについて、 photos[i] を、[i]に+1した数字で取得したいです。

※{% for i in (1..8) %}の部分は変更せずに、if文の中で変更したいです。

{% for i in (1..8) %}
 {% if block.settings.{{photos[i]}} %}

試したこと

[i]を、[i+1]と[i++]に変更してみましたが、エラーとなりました。

{% for i in (1..8) %}
 {% if block.settings.{{photos[i+1]}} %}
{% for i in (1..8) %}
 {% if block.settings.{{photos[i++]}} %}

詳細

「main-product.liquid」ファイル内で、以下のようなコードを記述しており、正常に動いているのですが、

photos[i] と types[i] で「i」に代入したい数字が1ずれているので、photos[i]に代入する数字を、「 i+1 」としたいのですが、そのまま photos[i+1] と記載するとエラーとなってしまいます。

 

{% assign photos = 'photo00,photo01,photo02,photo03,photo04,photo05,photo06,photo07,photo08'|split:','%}
                  function noshiPhoto () {
                    {% for i in (1..8) %}
                      {% if block.settings.{{photos[i]}} %}
                      var photo = document.getElementById("{{photos[i]}}");
                      if (type.value === "{{ types[i] }}") {
                        photo.style.display = "block";
                      }else{
                        photo.style.display = "none";
                      } 
                    {% endif %} 
                     {% endfor %}
                  };

もし「i」に「+1」可能な記述方法があればアドバイスいただけますと幸いです。

よろしくお願いいたします。

 

1 件の受理された解決策

株式会社フルバランス
Shopify Partner
1523 545 685

成功

Nishi-Ec 様

 

お世話になっております。

フルバランスの道家と申します。

 

liquidの四則計算は、以下のように行う必要がございます。

https://blackpigtail.com/web-design/2680

 

そのため、以下のコードで j が i+1 した状態になるかと思いますので、お試しいただけますと幸いです。

 

  {% for i in (1..8) %}
    {% assign j = i | plus: 1 %}
    <div>{{ j }}</div>
  {% endfor %}

 

 

なにかヒントになれば幸いです。

 

私たちの励みにもなりますので、

お役に立てていればBest Answerボタンを押して頂ければ嬉しいです。

 

フルバランス 道家

株式会社フルバランス(Shopify Experts)
Shopify専門のEC成長支援会社です。ストアの新規構築から運用や改善のサポートなどShopifyに関する幅広いサービスを行なっております。
ECの技術・実務・成長、お悩みのことがあれば、お気軽にご相談ください。
『すべてのブランドの特大成長エンジンを搭載する』 株式会社フルバランス

元の投稿で解決策を見る

2件の返信2

株式会社フルバランス
Shopify Partner
1523 545 685

成功

Nishi-Ec 様

 

お世話になっております。

フルバランスの道家と申します。

 

liquidの四則計算は、以下のように行う必要がございます。

https://blackpigtail.com/web-design/2680

 

そのため、以下のコードで j が i+1 した状態になるかと思いますので、お試しいただけますと幸いです。

 

  {% for i in (1..8) %}
    {% assign j = i | plus: 1 %}
    <div>{{ j }}</div>
  {% endfor %}

 

 

なにかヒントになれば幸いです。

 

私たちの励みにもなりますので、

お役に立てていればBest Answerボタンを押して頂ければ嬉しいです。

 

フルバランス 道家

株式会社フルバランス(Shopify Experts)
Shopify専門のEC成長支援会社です。ストアの新規構築から運用や改善のサポートなどShopifyに関する幅広いサービスを行なっております。
ECの技術・実務・成長、お悩みのことがあれば、お気軽にご相談ください。
『すべてのブランドの特大成長エンジンを搭載する』 株式会社フルバランス
nishi-ec
Shopify Partner
38 3 4

早速のご回答ありがとうございます。

ご教示の方法で解決しました。