有料テーマBaselineの通貨・言語セレクターをフッター以外の場所に表示したい。
ウェブサイト内の任意の場所に、通貨・言語セレクターを出したい。
こんなことを考えている方へ。
この記事のポイントは以下です。
■■Shopifyを学ぼう■■
人気記事 1.5万文字でデイトラShopifyコース!を徹底解説!口コミはこちら📺
人気記事 2万文字で忍者CODEShopifyコース!を徹底解説!口コミはこちら📺
人気記事 Shopifyのおすすめ学習方法まとめ!👩💻
人気記事 筆者の経験談!独学ロードマップ決定版!🖥
人気記事 Shopifyを学べるおすすめの書籍まとめ!📚
人気記事 日本語のみを厳選!おすすめのUdemy動画教材🎦
人気記事 コピペでOK!カスタマイズパーツ販売中📝
【Shopify】有料テーマBaselineの通貨・言語セレクターをスニペット化して任意の場所で表示させる方法
Shopifyの有料テーマBaselineの通貨・言語セレクターをスニペット化する方法を解説します。
通常、Baselineの通貨・言語セレクターはフッターの決まった位置にしか出せません。
しかし、Liquidコードをカスタマイズして通貨・言語セレクターをスニペット化することで、サイト内の自由な場所に通貨・言語セレクターを表示することができます。
この作業を行うことで、次のようなニーズに対応できます。
では、手順を解説します。
①Baselineのデフォルトの通貨・言語セレクターはフッターにしか出せない
まず、デフォルトの通貨・言語セレクターについて確認しましょう。
デフォルトでは、フッターの右下に表示されます。
【関連記事】【Shopify】テーマストアのデモサイトのURLまとめ【iframeで使いにくい】
公式テーマのデモサイトには通貨セレクタしかでいていません。
ただ実際は、管理画面から操作することで「言語セレクター」も出すことができます。
の両方にチェックを入れればOKです。
こんな感じで表示されます。
②【コピペ可能】Baselineの通貨・言語セレクターをスニペット化する
では、コードをスニペット化してみます。
Baselineの通貨・言語セレクターのコードはこちらです。
<div class="" data-section-id="LocalizationSelector" data-section-type="footer" data-color-scheme="footer"> {%- form 'localization', data-disclosure-form: '' -%} <div class="inline-block {% if country_selector and locale_selector %}mr-4{% endif %}"> <h2 class="visually-hidden" id="lang-heading"> {{ 'general.language.dropdown_label' | t }} </h2> <div class="relative" data-disclosure-locale> <button type="button" class="text-sm border-b-text border-scheme-text py-1" aria-expanded="false" aria-controls="lang-list" aria-describedby="lang-heading" data-disclosure-toggle> {{ form.current_locale.endonym_name }} <span class="inline-block ml-1 w-3 fill-current"> {% render 'icon-chevron-down' %} </span> </button> <ul id="lang-List" class="disclosure-list absolute bg-scheme-background opacity-0 top-0 lg:left-auto lg:right-0 transform transition-opacity border-text border-theme-color py-2" data-disclosure-list inert> {% for locale in form.available_locales %} <li class="text-sm"> <a class="block p-2" href="#" lang="{{ locale.iso_code }}" {% if locale.iso_code == form.current_locale.iso_code %}aria-current="true"{% endif %} data-value="{{ locale.iso_code }}" data-disclosure-option> <span class="{% if locale.iso_code == form.current_locale.iso_code %}border-scheme-text border-b-text{% else %}border-transparent border-b-text{% endif %}">{{ locale.endonym_name }}</span> </a> </li> {%- endfor -%} </ul> <input type="hidden" name="locale_code" id="LocaleSelector" value="{{ form.current_locale.iso_code }}" data-disclosure-input/> </div> </div> <div class="inline-block"> <h2 class="visually-hidden" id="country-heading"> {{ 'general.country.dropdown_label' | t }} </h2> <div class="relative" data-disclosure-country> <button type="button" class="text-sm border-b-text border-scheme-text py-1" aria-expanded="false" aria-controls="country-list" aria-describedby="country-heading" data-disclosure-toggle> {{ localization.country.name }} ({{ localization.country.currency.iso_code }} {{ localization.country.currency.symbol }}) <span class="inline-block ml-1 w-3 fill-current"> {% render 'icon-chevron-down' %} </span> </button> <ul id="country-list" class="disclosure-list absolute bg-scheme-background opacity-0 top-0 left-0 lg:left-auto lg:right-0 transform transition-opacity border-text border-theme-color py-2" data-disclosure-list inert> {% for country in localization.available_countries %} <li class="text-sm w-40"> <a class="block p-2" href="#" {% if country.iso_code == localization.country.iso_code %}aria-current="true"{% endif %} data-value="{{ country.iso_code }}" data-disclosure-option> <span class="{% if country.iso_code == localization.country.iso_code %}border-scheme-text border-b-text{% else %}border-transparent border-b-text{% endif %}">{{ country.name }} ({{ country.currency.iso_code }} {{ country.currency.symbol }})</span> </a> </li> {%- endfor -%} </ul> <input type="hidden" name="country_code" id="CountrySelector" value="{{ localization.country.iso_code }}" data-disclosure-input/> </div> </div> {%- endform -%} </div>
これをスニペット化するだけでOKです。
オンラインストア>テーマ>コードを編集 へと進みます。
「新しいスニペットを追加する」を押します。
「localization-selector.liquid」と名前をつけて作成します。
ここのスニペット名はなんでもいいです。
先ほどのコードを丸っと貼り付けます。
そして「保存」を押します。
これで保存ができました。
③スニペット化したコードを任意の場所に表示する
あとは、このスニペットを好きな場所に表示するだけです。
スニペットを呼び出すには、
{% render 'ファイル名(.liquid部分は不要)' %}
を使います。
今回だと、
{% render 'localization-selector' %}
です。
たとえば、ヘッダーに入れたかったら、header.liquidを探して・・・
たとえばスタイリング用に<div>で囲って・・・
<div class="header-LocalizationSelector"> {% render 'localization-selector' %} </div>
コードを挿入すればOKです。
これで完了です。
【関連記事】Shopifyのおすすめ有料テーマを紹介【実際に案件で使用】
参考:Shopifyを学ぶ方法まとめ|オンラインスクール・本・動画
Shopifyを本格的に学ぶためにはネットの情報だけは足りません。
そこで、仕事でShopifyを扱っている筆者が、おすすめの学習方法をまとめました。
オンラインスクール、本(参考書)、動画教材(Udemy)を活用して、効果的に学習しましょう。思い切って有料の教材を買って体系的に学ぶことで、操作に悩む時間が減りますし、より高度なカスタマイズや提案ができるようになり、仕事の幅が広がります。
■■Shopifyを学ぼう■■
人気記事 1.5万文字でデイトラShopifyコース!を徹底解説!口コミはこちら📺
人気記事 2万文字で忍者CODEShopifyコース!を徹底解説!口コミはこちら📺
人気記事 Shopifyのおすすめ学習方法まとめ!👩💻
人気記事 筆者の経験談!独学ロードマップ決定版!🖥
人気記事 Shopifyを学べるおすすめの書籍まとめ!📚
人気記事 日本語のみを厳選!おすすめのUdemy動画教材🎦
人気記事 コピペでOK!カスタマイズパーツ販売中📝
■■Udemyは初回購入がお得■■
Point 通常1万〜2万円の商品が80%OFF〜90%OFF程度の値段で購入できる!
Point ランチ1回分の値段でShopifyを学べます!
まとめ
本記事のポイントをまとめます。
これで完了です。
今回の記事はここまでです。