Разделы шаблона страницы Shopify с разными данными для другой страницы

Я новичок в Shopify и только начал учиться. Моя проблема в том, что я создал шаблон страницы с разделом, который позволяет разделить продукт, теперь, когда я создаю другую страницу с тем же шаблоном страницы, содержимое страницы было таким же, что я создал раньше, если я изменю контент на второй странице, он отразится на обе страницы. Как я различаю разделы для разных страниц?

Раздел 1

{% schema %}
  {
    "name": "Page Heading",
    "settings": [

        {
            "type": "text",
            "id": "page-heading",
            "label": "Page Heading"
        },
        {
            "type": "text",
            "id": "page-heading-big",
            "label": "Bigger Heading"
        },
        {
            "type": "image_picker",
            "id": "page-heading-image",
            "label": "Heading Image"
        }
    ]
  }
{% endschema %}

Раздел 2

{% schema %}
{
  "name": "Promotional Blocks",
  "max_blocks": 10,

  "blocks": [
  {
    "type": "single-product",
    "name": "Add Single Product",

    "settings": [
      {
        "id": "single-product",
        "type": "product",
        "label": "Choose Product"
      }
    ]
  }
  ]
}
{% endschema %}

person WP Dev    schedule 08.07.2019    source источник


Ответы (1)


Вы не делаете ничего плохого, но на данный момент это невозможно в Shopify. Согласно Shopify Theme Docs

Разделы могут быть статически включены в шаблоны темы (например, верхний и нижний колонтитулы), или они могут быть динамически добавлены на домашнюю страницу темы из редактора темы.

Статические разделы

Вы можете включить раздел в файл шаблона, используя тег раздела. Этот тег ведет себя так же, как тег include для сниппетов: {% section 'header'%} будет включать раздел, расположенный по адресу section / header.liquid. Явный вызов раздела таким образом называется статическим.

Раздел может быть включен в несколько шаблонов, но существует только один экземпляр этого раздела. Когда продавец изменяет конфигурацию статического раздела в одном месте, это изменение будет применяться ко всем другим местам, где этот раздел включен. Обратите внимание, что разделы не могут включать другие разделы.

Таким образом, возможное решение - создать новый раздел с такими же настройками в ваших файлах темы.

Другой возможный обходной путь, как определено здесь

Выберите один раздел / схема для нескольких страниц: динамические разделы

Этот подход использует блоки Shopify внутри разделов.

Разделы могут определять блоки в своих схемах. Блоки - это контейнеры с настройками и содержимым, которые можно добавлять, удалять и переупорядочивать в разделе.

Он создает блок внутри раздела и добавляет дополнительный параметр с именем page_handle. Таким образом, в любое время, когда пользователь добавляет новый блок, пользователь может выбрать, на какой странице должен отображаться блок. Затем в коде раздела он проверяет, совпадает ли указатель_страницы, выбранный внутри блока, с указателем_страницы, который пользователь просматривает в данный момент. Если да, то покажите содержание.

{% comment %}
    block.settings.page_handle is what user selected in block settings
    page_handle is what page user is viewing on Shopify site
{% endcomment %}
{% assign page_handle = page.handle %}
{% if block.settings.page_handle == page_handle %}
    {{ block.settings.page_title }}
{% endif %}
person Bilal Akbar    schedule 08.07.2019
comment
Да, я знаю, что shopify не поддерживает такую ​​функцию. Есть ли способ добиться этого? Я прочитал эту статью, но не понял, как это реализовать. Ссылка на статью: sumankc.com / 2017/07/19 / - person WP Dev; 08.07.2019
comment
Статья @WPDev довольно ясна ... Я добавил некоторую информацию, если это поможет вам понять больше об этом подходе. - person Bilal Akbar; 08.07.2019
comment
Спасибо @BilalAkbar - блоки - хороший способ для этого - person limco; 21.05.2021