Shopifyの経験は浅いのですが、自作テーマを制作しています。
どなたか詳しい方、知恵をお貸しいただけないでしょうか。
・実現したいこと
作成したセクションをトップページで動的に追加できるようにしたい
・現状の問題
テンプレートのliquidファイル内にセクションタグを使って固定であればセクションを配置することはできるものの、「セクションを追加」というボタンが表示がない状態で動的に追加できない。
Schemaは下記のように定義しており、上記のように固定であればセクションを使うことができています。ちなみに、自作テーマではなく、既存テーマ(Debut)であればやりたいことが実現できている状況です。
{% schema %}
{
"name": "繰り返しコンテンツ",
"settings": [],
"blocks": [
{
"type": "repeat-content",
"name": "繰り返しコンテンツ",
"settings": [
{
"type": "text",
"id": "title",
"label": "コンテンツタイトル"
}, {
"type": "richtext",
"id": "body",
"label": "コンテンツ本文"
}
]
}
],
"presets": [
{
"name": "繰り返しコンテンツ"
}
]
}
{% endschema %}
上記のpresetsの項目で指定があれば、「セクションを追加する」ボタンから選択肢として項目が表示され、セクションを挿入することができるのかなと思っていたのですが、実装方法に誤りがあるのか、そもそも別の設定が必要になるのでしょうか?
恐れ入りますがご教授いただけますと幸いです。
よろしくお願いいたします。
「セクションを追加」というボタンが表示がない状態で動的に追加できない。
上記は以下の意味であっていますでしょうか?
- 該当のセクションを初期配置のセクションとして設定したい
あっている場合、index.jsonにセクションを記載すれば実現可能だと思います。
Dawnなどのテーマのデフォルトのindex.jsonなどを見れば初期設定セクションの記載が確認できますので、そちらを参考に追加するとよいと思います。
https://github.com/Shopify/dawn/blob/main/templates/index.json
以上ですが、理解が間違っている場合は申し訳ありません。
ご返信が遅くなりまして申し訳ございません、ご教授いただきありがとうございます。
実際に「Dawn」のテーマで動的セクションが追加されるのを確認できました。JSONテンプレートの方はあまり詳しくなく、今回色々と触ってみて勉強になりました。ありがとうございました。
返信ついでの質問で大変恐縮なのですが、やはりオリジナルでテーマの作成する際には、Theme Kitのnewコマンドで新規作成できるブランクテーマではなく、Dawnなどの既存テーマからカスタマイズしていくのが一般的なのでしょうか?(そもそもLiquidテンプレートではなくJSONテンプレートの方が良い?)
独自のデザインであれば上記のブランクテーマの方が進めやすそうということで、色々と触っていたのですが、動的セクションの部分がいまいち思ったようにならず、、既存テーマをベースにしたものであれば想定していることが実現でき、情報を探してみても既存テーマベースのものがほとんどだったので、実際にはどのように作成されているのかなと思いまして。
恐れ入りますがご確認いただけますと幸いです。
オリジナルでテーマの作成
要件次第だと思います。
例えば、Dawnテーマ内蔵機能で問題はなくカスタマイズで対応できるならDawnテーマを使います。
Dawn含め既存テーマのカスタマイズで要件を満たせない場合はオリジナルでの作成が視野に入ります。
そもそもLiquidテンプレートではなくJSONテンプレートの方が良い?
OS2.0以降はJSONがデフォルトだと思うので悩む場面はあまり思い浮かびませんが、こちらも要件次第だと思います。
1 Like
ご返信が遅くなり申し訳ございません、ご回答ありがとうございました、なるほどですねやはりまずは既存テーマをベースにカスタマイズを検討するイメージですね、参考にさせていただきます。ありがとうございました。