FROM CACHE - jp_header
このコミュニティはピアツーピアサポートに移行しました。Shopify サポートは今後、このコミュニティへのサービスを提供いたしません。これからもぜひ、他のマーチャントやパートナーとつながり、サポートし合い、経験を共有してください。 当社の行動規範に違反する行動や削除を希望するコンテンツがありましたら、引き続きご報告ください

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

解決済

【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
1624 577 752

成功

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専門のEC成長支援会社です。ストアの新規構築から運用や改善のサポートなどShopifyに関する幅広いサービスを行なっております。
ECの技術・実務・成長、お悩みのことがあれば、お気軽にご相談ください。
『つくる人、売る人の成長と成功を最大化する。』 株式会社フルバランス

元の投稿で解決策を見る

2件の返信2

株式会社フルバランス
Shopify Partner
1624 577 752

成功

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専門のEC成長支援会社です。ストアの新規構築から運用や改善のサポートなどShopifyに関する幅広いサービスを行なっております。
ECの技術・実務・成長、お悩みのことがあれば、お気軽にご相談ください。
『つくる人、売る人の成長と成功を最大化する。』 株式会社フルバランス
nishi-ec
Shopify Partner
38 3 4

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

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