Shopifyのsection.settingsの値出力方法の検討

窓辺

検索で見つからなかったものの、できるかなと試したらできたのでメモとして。検索時のワードが間違っていただけで、実は当たり前の内容かもしれませんが。

実現したいこと

  • Shopifyのセクション内で、テーマエディタにて設定した値を出力する
  • 出力した値をrendersnippets内の別ファイルに渡す

サンプル

以下が前提です。

  • idhoge1hoge2hoge3hoge4を設定
  • snippets内のmy_snippetに値を渡す

サンプル1


{%- liquid
  render 'my_snippet', hoge: section.settings.hoge1
  render 'my_snippet', hoge: section.settings.hoge3
  render 'my_snippet', hoge: section.settings.hoge4
  render 'my_snippet', hoge: section.settings.hoge5
-%}

ドット記法を用いた概ね一般的な書き方だと思います。

サンプル2


{%- liquid
  for num in (1..4)
    assign fuga = 'hoge' | append: num
    render 'my_snippet', hoge: section.settings[fuga]
  endfor
-%}

for文とブラケット記法を組み合わせることもできます。

 

結び

できるかなと試したらサンプル2ができたので、今後は多少効率的に書けそうではあります。

こういう場合blockで作成するべきだとは思いますが、構造上そうもいかない場面もあり、羅列するよりは良いかなと。

なお、section.settingsblock.settingsでも動くとは思います。
あえてblockでサンプル2の書き方をしなければならない場面もそうそうないとは思いますが。

3人がこの記事を評価

役に立ったよという方は上の「記事を評価する」ボタンをクリックしてもらえると嬉しいです。

連投防止のためにCookie使用。SNSへの投稿など他サービスとの連動は一切ありません。

コメント欄