検索で見つからなかったものの、できるかなと試したらできたのでメモとして。検索時のワードが間違っていただけで、実は当たり前の内容かもしれませんが。
実現したいこと
- Shopifyのセクション内で、テーマエディタにて設定した値を出力する
- 出力した値をrenderでsnippets内の別ファイルに渡す
サンプル
以下が前提です。
- idにhoge1hoge2hoge3hoge4を設定
- 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.settingsはblock.settingsでも動くとは思います。
あえてblockでサンプル2の書き方をしなければならない場面もそうそうないとは思いますが。
3人がこの記事を評価
役に立ったよという方は上の「記事を評価する」ボタンをクリックしてもらえると嬉しいです。
連投防止のためにCookie使用。SNSへの投稿など他サービスとの連動は一切ありません。