Добавление виджета для выбора даты доставки в корзину

Вы можете добавить на страницу корзины календарь, с помощью которого клиенты смогут указать дату доставки своего заказа.

Виджет для выбора даты доставки

Подключение jQuery в файле theme.liquid

Чтобы эта настройка работала, для некоторых тем требуется добавить тег скрипта jQuery в файл макета theme.liquid. Если вы используете бесплатную тему Shopify, возможно, вам придётся выполнить следующий шаг:

  1. В папке Layout нажмите theme.liquid.

  2. Найдите в коде закрывающий тег </head>. На новой строке над ним вставьте следующий код:

{{ '//ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js' | script_tag }}
  1. Нажмите Сохранить.

Создание фрагмента для даты доставки

Чтобы создать фрагмент для виджета выбора даты доставки:

Компьютер
  1. В панели администратора Shopify перейдите в раздел Интернет-магазин > Темы.

  2. Найдите тему, которую хотите отредактировать, нажмите кнопку , чтобы открыть меню действий, а затем нажмите Редактировать код.

  3. В папке Snippets нажмите Добавить новый фрагмент:

  4. Создайте фрагмент:

  5. Назовите фрагмент delivery-date.

  6. Нажмите Создать фрагмент. Новый файл фрагмента откроется в редакторе кода.

  7. В новый фрагмент delivery-date.liquid вставьте следующий код:

{{ '//code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css' | stylesheet_tag }}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>

<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 weekend.</span> </p> </div>

<script> document.addEventListener('DOMContentLoaded', function() { if (window.jQuery) { $(function() { $("#date").datepicker({ minDate: +1, maxDate: '+2M', beforeShowDay: $.datepicker.noWeekends }); }); } }); </script>

  1. Нажмите Сохранить.
Мобильное устройство
  1. В приложении Shopify нажмите значок Меню.

  2. В разделе Каналы продаж нажмите Интернет-магазин.

  3. Нажмите Управление темами.

  4. Найдите тему, которую хотите отредактировать, нажмите кнопку , чтобы открыть меню действий, а затем нажмите Редактировать код.

  5. В папке Snippets нажмите Добавить новый фрагмент:

  6. Создайте фрагмент:

  7. Назовите фрагмент delivery-date.

  8. Нажмите Создать фрагмент. Новый файл фрагмента откроется в редакторе кода.

  9. В новый фрагмент delivery-date.liquid вставьте следующий код:

{{ '//code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css' | stylesheet_tag }}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>

<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 weekend.</span> </p> </div>

<script> document.addEventListener('DOMContentLoaded', function() { if (window.jQuery) { $(function() { $("#date").datepicker({ minDate: +1, maxDate: '+2M', beforeShowDay: $.datepicker.noWeekends }); }); } }); </script>

  1. Нажмите Сохранить.

Добавление фрагмента на страницу корзины

Чтобы добавить фрагмент для выбора даты доставки на страницу корзины:

  1. В папке Sections нажмите main-cart-items.liquid.

  2. Найдите в коде закрывающий тег </form>. На новой строке над ним вставьте следующий код:

{% render 'delivery-date' %}
  1. Нажмите Сохранить.

Теперь на вашей странице корзины есть поле для ввода даты доставки. Когда вы нажмёте на текстовое поле, появится календарь:

Виджет для выбора даты доставки

Виджет для выбора даты, используемый в этой настройке, — это виджет из библиотеки jQuery UI.