Liquid、JavaScriptなどに関する質問
Dawnテーマを使っています。セクションの背景の色やボタンの色などをテーマのカスタマイズ画面で設定できるようにしようとしています。
{%- style -%}タグに{{section.settings.background_color}}や{{block.settings.button_color}}と設定して色を変更できるようにcssを書き込んだのですが、デフォルトの値は反映されますが色を変更しても変わりません。直接色を指定した場合には色が変わるのでcssは機能していると思われます。また、他のliquidで同じようなコードをした場合には色が変更できます。
{%- style -%}タグにセクションやブロックの情報を反映できる方法や条件が知りたいです。ご教示よろしくお願いいたします。
解決済! ベストソリューションを見る。
成功
参照方法自体は頂いている内容で方向性は合っております。
弊社「Dawn」テーマにて、デフォルトで用意されている変数を使用して以下コードをtheme.liquidに挿入したところ、正常に反映を確認いたしました。
{% style %}
body {
background-color: {{ settings.colors_accent_1 }}!important;
}
{% endstyle %}
恐らくですが、原因としては、以下のいずれかだと推測いたします。
・別のCSSで上書きされている
・section.settings.background_color や block.settings.button_color など 記載をしている変数とstyleの挿入位置が合っていない(変数が参照できない位置にコードを挿入している)
前者の場合、まずは!importantなどで強制的に上書きをしてご確認をいただき、
後者の場合、{% style %}のコードを挿入している箇所で、{{ section.settings.background_color }} などと記載をいただき、styleタグの有無に関わらず、正常に値が取得できているか?
をご確認いただくのが良いと思います。
成功
参照方法自体は頂いている内容で方向性は合っております。
弊社「Dawn」テーマにて、デフォルトで用意されている変数を使用して以下コードをtheme.liquidに挿入したところ、正常に反映を確認いたしました。
{% style %}
body {
background-color: {{ settings.colors_accent_1 }}!important;
}
{% endstyle %}
恐らくですが、原因としては、以下のいずれかだと推測いたします。
・別のCSSで上書きされている
・section.settings.background_color や block.settings.button_color など 記載をしている変数とstyleの挿入位置が合っていない(変数が参照できない位置にコードを挿入している)
前者の場合、まずは!importantなどで強制的に上書きをしてご確認をいただき、
後者の場合、{% style %}のコードを挿入している箇所で、{{ section.settings.background_color }} などと記載をいただき、styleタグの有無に関わらず、正常に値が取得できているか?
をご確認いただくのが良いと思います。
ご回答いただきありがとうございます。
リッチテキストやテキスト付き画像のliquidを編集していたのですが、theme.liquidの方は試していなかったので、そちらで試してみようと思います。
また、pタグで{{ section.settings.background_color }} を出力したところ、カラーコードが出力されて色を変えるとカラーコードも変わったので、値は取得できていると思われます。
いつもShopifyをご利用いただき、ありがとうございます。 Shopifyは、皆様の日本語での利用体験の向上に努めております。さらなる改善のために皆様のご意見をお寄せい...
By JasonH May 9, 2025Shopify アカデミーの学習パスと認定スキルバッジExpanding Your Shopify Business Internationallyを活用して、国際的にビジネ...
By Shopify Feb 7, 2025Shopify アカデミーの学習パスB2B on Shopify:立ち上げとカスタマイズで卸売販売に進出しましょう。これら3つの無料コースは、ShopifyストアでB2B機能...
By Shopify Jan 31, 2025