Как я могу создать несколько страниц категорий в Magento 2?


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

Для этого у меня есть:

  1. Создал customlist.phtml из list.phtml или скопировал код list.phtml и создал

  2. Назначьте customlist.phtml на стороне администратора (администратор → категория → раздел макета)

Но это не работает:

Ошибка:-Fatal error: Uncaught Error: Call to a member function count() on null

Раздел компоновки Код:

<referenceContainer name="content">
    <referenceBlock name="category.products">
        <block name="product_list" class="Magento\Catalog\Block\Navigation">
            <action method="setTemplate">
                <argument name="template" xsi:type="string">Magento_Catalog::product/customlist.phtml</argument>
            </action>
        </block>
    </referenceBlock>
</referenceContainer>

Как я могу создать несколько страниц категорий в Magento 2?

Author: Divyarajsinh Dodiya, 2017-11-24

2 answers

@jaimin для панели инструментов вам нужно сделать что-то вроде этого.

<referenceContainer name="content">
  <referenceBlock name="category.products">
      <block name="product_list" class="Magento\Catalog\Block\Product\ListProduct">
          <action method="setTemplate">
              <argument name="template" xsi:type="string">Magento_Catalog::product/list2.phtml</argument>
          </action>
          <container name="category.product.list.additional" as="additional" />
                   <block class="Magento\Framework\View\Element\RendererList" name="category.product.type.details.renderers" as="details.renderers">
                       <block class="Magento\Framework\View\Element\Template" name="category.product.type.details.renderers.default" as="default"/>
                   </block>
                   <block class="Magento\Catalog\Block\Product\ProductList\Toolbar" name="product_list_toolbar" template="Magento_Catalog::product/list/toolbar.phtml">
                       <block class="Magento\Theme\Block\Html\Pager" name="product_list_toolbar_pager"/>
                   </block>
                   <action method="setToolbarBlockName">
                       <argument name="name" xsi:type="string">product_list_toolbar</argument>
                   </action>
      </block>
  </referenceBlock>
</referenceContainer>
 2
Author: Divyarajsinh Dodiya, 2018-11-13 06:56:35

Вы указали неправильное название блока, пожалуйста, проверьте код ниже

<referenceContainer name="content">
    <referenceBlock name="category.products">
        <block name="product_list" class="Magento\Catalog\Block\Product\ListProduct">
            <action method="setTemplate">
                <argument name="template" xsi:type="string">Magento_Catalog::product/customlist.phtml</argument>
            </action>
        </block>
    </referenceBlock>
</referenceContainer>
 4
Author: Sunil Patel, 2017-11-24 10:48:40