Рендерить раздел с блоками, используя API рендеринга раздела

#shopify #liquid

#Shopify #жидкость

Вопрос:

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

Пример:

 <div class="section-blocks">
    {%- for block in section.blocks -%}
        {%- case block.type -%}
            {%- when 'title' -%}
                <span>This is title</span>
            {%- when 'text' -%}
                <span>This is text</span>
        {%- endcase -%}
    {%- endfor -%}
</div>

{% schema %}
{
    "name": "Demo section",
    "tag": "section",
    "class": "demo-section",
    "settings": [],
    "blocks": [
        {
            "type": "title",
            "name": "the_title",
            "settings": []
        },
        {
            "type": "text",
            "name": "the_text",
            "settings": []
        }
    ]
}
{% endschema %}
 

Обычно он отображает следующее содержимое:

 <div class="section-blocks">
    <span>This is title</span>
    <span>This is text</span>
</div>
 

Но при использовании API рендеринга раздела содержимое только:

 <div class="section-blocks"></div>
 

API рендеринга раздела не поддерживает блоки рендеринга?
Или я пропустил документ или учебное пособие?

Может кто-нибудь мне это объяснить, спасибо!

Ответ №1:

Вы многое упускаете.

  1. Разделы и блоки являются частями темы, которые следует обновлять с помощью темы / настройки на панели администратора Shopify.
  2. Вы можете использовать разделы на любой странице на основе шаблона JSON в вашей теме, вы можете добавлять и удалять разделы.
  3. Разделы могут содержать блоки, блоки являются настраиваемой частью раздела. Для активации / деактивации блока вы должны использовать customize на панели администратора.

при этом разделы — это хороший способ придать гибкость теме, а блоки — хороший способ гибко создавать разделы. Использование разделов и блоков упростило внесение изменений в внешний вид сайта без знания кода с помощью визуального редактора на Customize.

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

1. Похоже, вы неправильно понимаете, что я имею в виду. Я хочу использовать Ajax (API рендеринга раздела), чтобы получить раздел содержимого (который содержит много блоков) Документ: Shopify.dev/api/ section-rendering

2. Ваш результат показывает, что вы не добавляете никаких блоков в свой раздел на странице настройки на панели администратора. моя точка зрения 1. в файле liquid вы объявляете тип блоков, который может содержать раздел, но вам нужно добавить и заполнить нужные вам блоки на странице настройки.