Shopify ThemeKit: после развертывания я теряю все сохраненные поля

#shopify

#Shopify

Вопрос:

Я пытаюсь настроить тему в Shopify, используя Theme Kit.

Все было хорошо, так как я заметил, что после запуска командной темы deploy --allow-live я теряю все значения пользовательских полей, сохраненных в Shopify.

Итак, например, это код моего файла ‘homepage.intro.liquid’:

 <div class="image">
    <a class="banner-opacity" href="#"><img src="{{section.settings.intro_one_img | img_url: '470x570'}}"></a>
</div>
  

И это часть схемы:

 {% schema %}
  {
    "name": "Homepage Intro",
    "settings": [
      {
        "id": "intro_one_img",
        "type": "image_picker",
        "label": "Immagine 1"
      },
      ...
{% endschema %}
  

Итак, это то, что я делаю:

  1. Я перехожу к настройке темы в Shopify Admin, я могу загрузить и выбрать изображение без каких-либо проблем, и все работает.

  2. После этого, допустим, мне нужно добавить файл или папку в мою тему, но он неправильно загружен в Shopify admin.

  3. Итак, я останавливаю просмотр темы и затем запускаю deploy --allow-live .

  4. Файл или папка загружены правильно.

  5. Изображение, которое я загрузил в точке 1), больше не выбрано.

И это происходит со ВСЕМИ полями … и не только с изображениями, но даже с текстовыми полями.

Что я делаю не так? Заранее спасибо.

Комментарии:

1. Ваше развертывание перезаписывает config/settings_data.json файл старыми данными? Если это так, вы можете добавить этот файл в список игнорирования в вашем файле config.yml.

Ответ №1:

Вы должны добавить config/settings_data.json в Theme Kit config.yml :

 development:
  password: shppa_123
  theme_id: "123"
  store: xyz.myshopify.com
  ignore_files:
  - /config/settings_data.json

  

Комментарии:

1. Спасибо за ваш ответ! Теперь он больше не стирает мои поля после развертывания, но он работает для меня, когда я пишу просто «settings_data.json», а не «/config/settings_data.json»

2. Итак, если вы добавите /config / перед именем файла, это не сработает?

Ответ №2:

Я использую ignores вместо ignore_files в файле config.yml.

 development:
  password: shppa_123
  theme_id: "123"
  store: xyz.myshopify.com
  ignores:
  - .themeignore
  

А затем в файле .themeignore, например:

 # GULP
node_modules

config/settings_data.json
  

Упрощает игнорирование нескольких файлов и папок. Проверьте официальную документацию по этой ссылке:https://shopify.dev/themes/tools/theme-kit/configuration-reference#ignore-patterns