本ページでは、ギフト設定時に不要なパーツを非表示にする方法をご案内します。
本設定を行うことで、以下のことが実現できます。
ギフト設定時に、テーマの数量カウンターやメモ欄を非表示にできる
購入ページの不要なウィジェット(他社の日時指定アプリなど)を非表示にできる
All in gift経由の注文では、テーマの数量カウンターやメモ欄の内容は注文管理画面に取り込まれません。ギフト設定時は、テーマ側の数量カウンターやメモ欄を非表示にしてください。
eギフトの日時指定は受取者が行うため、他社の日時指定アプリを使用している場合、購入ページでのウィジェットを非表示にしてください。
設定方法は2通りあります。アプリの実装方法に合わせて選んでください。
テーマエディタから設定する:All in giftブロックを設置している場合
テーマのコードから設定する:LiquidファイルにAll in giftタグを追加している場合
非表示にしたい要素(メモ欄・数量カウンターなど)のクラス名・ID名を、ブラウザの検証ツール(Google Chromeなど)で確認する
クラス名やID名は、テーマ等によって異なります
オンラインストア>テーマ>カスタマイズに進む
All in giftを実装しているページを選択する
All in giftブロックをクリックする
アプリ編集画面の一番下にある
eギフト選択時に非表示にする要素のIDやクラス名(複数可、カンマ区切り)に、手順1で確認したクラス名やID名を入力
ポイント
ID名は先頭に「#」を付ける
クラス名は先頭に「.」を付ける
複数ある場合は「,」で区切る
保存をクリックして完了
◾️参考情報
非表示項目 | 指定例 |
|---|---|
カートボタン |
|
数量カウンター/メモ欄 | テーマによる(Google Chromeの検証ツール等で要確認) |
ハックルベリー社 定期購買アプリ |
|
前提
この方法は、リキッドファイルにAll in giftタグを追加してウィジェットを実装している店舗様向けです。
オンラインストア>テーマ>・・・>コードを編集をクリック
All in giftタグを追加したliquidファイルを開く
タグに
data-hidden-elements属性を追加する
data-hidden-elements="ここに非表示にしたい要素のクラス名やID名を入れる"<!-- 例:商品詳細ページで、テーマの数量カウンター(クラス名 product-form__quantity)を非表示にする -->
<div class="sns-gift-product-container"
data-hidden-elements=".product-form__quantity">
</div>画面右上の
Saveをクリックして完了
これらのパーツを非表示にする場合は、テーマのコード編集が必要です。
オンラインストア>テーマ>・・・>コードを編集をクリックAll in giftタグを追加したliquidファイルを開く
対象のパーツに応じた属性(
data-hide-cancel-buttonなど)を追加する
画面右上の
Saveをクリックして完了
◾️参考情報
非表示にするパーツ | 追加する属性 |
|---|---|
キャンセルボタン | data-hide-cancel-button="true" |
お届け方法(ヘッダーテキスト) | data-hide-header-text="true" |
指定の住所に贈るのラジオボタン | data-hide-general-gift-radio="true" |
仕様
指定したクラス・IDには visibility: hidden が適用されます。要素は画面上で見えなくなりますが、空白(スペース)は残ります。
空白も含めて完全に非表示にしたい場合は、テーマ側でJavaScriptを使い、visibility: hidden が適用された要素に display: none を追加してください。
注意点
visibility: hidden から display: none への変更は、テーマによってレイアウトが崩れる場合があります。
検証は必ず複製テーマで行い、本番公開前に十分ご確認ください。
以下は、.product-form__submit を対象にした例です。
.product-form__submit の部分を、非表示にしたい要素のクラス名・ID名に置き換えてください。
<script>
document.addEventListener('DOMContentLoaded', () => {
const submitButton = document.querySelector('.product-form__submit');
if (submitButton) {
// MutationObserverのコールバック関数
const callback = (mutationsList) => {
for (const mutation of mutationsList) {
if (mutation.type === 'attributes' && mutation.attributeName === 'style') {
const styles = window.getComputedStyle(submitButton);
if (styles.visibility === 'hidden') {
submitButton.style.display = 'none';
}else{
submitButton.style.display = 'block';
}
}
}
};
// オブザーバのインスタンスを作成
const observer = new MutationObserver(callback);
observer.observe(submitButton, { attributes: true, attributeFilter: ['style'] });
}
});
</script>