カートに配達日ピッカーを追加する

お客様が注文の配達日を指定できるようにするカレンダーをカートページに追加できます。

配達日ピッカー

theme.liquidにjQueryを追加する

このカスタマイズを機能させるには、一部のテーマで、jQueryのスクリプトタグをtheme.liquidレイアウトファイルに追加する必要があります。Boundless、Debutのバージョン17.2.0以降、Express、Narrative、Ventureを使用している場合、次のステップに従う必要があります。

  1. レイアウトディレクトリーで、theme.liquidをクリックします。

  2. コードで</head>終了タグを探します</head>終了タグの上の新しい行に、次のコードを貼り付けます。

    liquid {{ '//ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js' | script_tag }}

  3. [保存] をクリックします。

配達日のスニペットを作成する

配達日ピッカーのスニペットを作成するには、次の手順を実行します。

  1. [スニペット] ディレクトリで、[新しいスニペットを追加する] をクリックします。

  2. 次の手順でスニペットを作成します。

    1. スニペットにdelivery-dateと名付けます。
    2. [スニペットを作成する] をクリックします。コードエディタで新しいスニペットファイルが開きます。
  3. 新しいdelivery-date.liquidスニペットで、次のコードを貼り付けます。

```html {{ '//code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css' | stylesheet_tag }}

<div style="width:300px; clear:both;">
  <p>
    <label for="date">Pick a delivery date:</label>
    <input id="date" type="text" name="attributes[date]" value="{{ cart.attributes.date }}" />
    <span style="display:block" class="instructions"> We do not deliver during the week-end.</span>
  </p>
</div>

<script>
  window.onload = function() {
      if (window.jQuery) {
        let $ = window.jQuery;

        $(function() {
          $("#date").datepicker({
          minDate: +1,
          maxDate: '+2M',
          beforeShowDay: $.datepicker.noWeekends
        });
      });
    }
  }
</script>
1. **[保存]** をクリックします。

## カートページにスニペットを追加する

カートページに配達日のスニペットを含めるには、次の手順を実行します。

1. **[セクション]** ディレクトリで、[`cart-template.liquid`] をクリックします。テーマにこのファイルがない場合、**[テンプレート]** ディレクトリの [`cart.liquid`] をクリックします。

2. コードで`</form>`終了タグを[探します](/manual/productivity-tools/keyboard-shortcuts#find)。`</form>`終了タグの上の新しい行に、次のコードを貼り付けます。

```liquid

{% render 'delivery-date' %}
  1. [保存] をクリックします。

カートページに配達日入力フィールドが表示されるようになりました。テキストフィールド内をクリックすると、次のカレンダーが表示されます。

配達日ピッカー

このカスタマイズで使用されている日付ピッカーは、jQuery UIライブラリーからのウィジェットです。このブログ記事では、日付ピッカーカレンダーにある特定の日付を無効にする方法について説明されています。

Shopifyで販売を開始する準備はできていますか?

無料体験を試す