ページに独自セクションを追加したのですが、、、

セクションは、各セクションごとに情報を保存し、その内容を他の場所でも出力するためのものだと思いますので、この場合セクションを増やすのが想定された方法かと思います。

この件に関しましては以下が該当するかなと思います(少々自信ありません)。

https://shopify.dev/docs/themes/sections/content-schema

The Content Schema is a formula for representing online store content. Its purpose is to standardize how themes model merchant-generated content in content sections, enabling content made with a section of one theme to be rendered by a section of a different theme. It also serves to provide a consistent editing experience to merchants.

上記を踏まえた上で「どうしても一つのセクションに作った各ブロックを出しわけたい」というのであれば以下の方法などが思い浮かびます。
※試作したわけではないので未検証です

  • テキスト欄を一つ追加してそこにShop List1やShop List2などと入力し、for文内で入力した値とpage.handleなどを比較し合致すれば表示させる

基本的に「for文の中で任意のブロックを特定し表示させる」という動作ができればよいので、上記以外でも分岐条件さえ作れれば動作するはずです。

一応サンプルコードは書いてみましたが、こちらも未検証のためその点ご了承ください。


 {% for block in section.blocks %}
  {% if block.settings.handle == page.handle %}
   - {% comment %} 中略 {% endcomment %}
   
  {% endif %}
 {% endfor %}

{% schema %}
{
 {% comment %} 中略 {% endcomment %}
      "setting":[
       {
        {% comment %} 中略 {% endcomment %}
        {
         "id":"handle",
         "type":"text",
         "label":"Page Handle"
        }
       {% comment %} 中略 {% endcomment %}
{% endschema %}

なお、コードに関しまして最も確実なのは記事を書いた方に質問することかなと思いますので、noteの作者にご相談されることもお勧めします。

2 Likes