Есть ли способ иметь несколько типов блоков в разделе Shopify? - PullRequest
0 голосов
/ 08 апреля 2020

В разделе Shopify у меня есть блок выбора изображений для создания галереи, и в этом же разделе у меня есть блок url ​​для создания любого количества кнопок.

Проблема в том, что оба типа блоков появляются в та же область содержимого для редактора тем. Это выглядит довольно запутанно для редактора.

Есть ли способ иметь 2 отдельные области блоков, одну для галереи изображений, а другую для кнопок?

enter image description here

"blocks": [
  {
    "type": "button",
    "name": "Button",
    "settings": [
      {
        "type": "url",
        "id": "button_link",
        "label": "Button link"
      }
    ]
  },
  {
    "type": "image",
    "name": "Image slide",
    "settings": [
      {
        "type": "image_picker",
        "id": "image",
        "label": "Image"
      }
    ]
  }
]

Ответы [ 2 ]

1 голос
/ 08 апреля 2020

Нет, в данный момент нет способа указать Shopify отображать блоки таким способом. Все блоки могут быть расположены в любом порядке, независимо от типа каждого блока. Тот, кто управляет магазином, должен будет вручную расположить блоки в разумном порядке.

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

{% assign image_blocks = section.blocks | where: 'type', 'image' %}
{% for block in image_blocks %}
  <!-- Stuff -->
{% endfor %}

{% assign button_blocks = section.blocks | where: 'type', 'button' %}
{% for block in button_blocks %}
  <!-- Stuff -->
{% endfor %}
0 голосов
/ 08 апреля 2020

Создайте 2 разных раздела и включите оба .eg:

{% section 'buttons' %}

{% section 'images' %}

Где:

section / buttons.liquid

{% schema %}
  {
    "name": "Buttons",
    "class": "buttons-section",
    "blocks": [
      {
        "type": "button",
        "name": "Button",
        "settings": [
          {
            "type": "URL",
            "id": "button_link",
            "label": "Button link"
          }
        ]
      }
    ]
  }
{% endschema %}

section / images.liquid

{% schema %}
  {
    "name": "Images",
    "class": "images-section",
    "blocks": [
      {
        "type": "image",
        "name": "Image slide",
        "settings": [
          {
            "type": "image_picker",
            "id": "image",
            "label": "Image"
          }
        ]
      }
    ]
  }
{% endschema %}

Итак, вы получите:

Two sections included example

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...