Вы пробовали действие setTemplate, когда ссылка на корневой контейнер позволит вам переключать шаблоны на 1column, 2columns-left, 2columns-right или 3columns?
Адитья Шах
Я пытался <move element = "product_list_toolbar" destination = "columns" before = "div.sidebar.main" />
hweb87
Ответы:
8
Попробуй это.
1. Создайте файл catalog_category_view в разделе
продавец / Magento / тема-интерфейс-яркостной / Magento_Catalog / расположение
Основной проблемой является старая кодовая база панели инструментов и список продуктов. Некоторые из них уже исправлены в Magento 2.2.x, но все еще существуют проблемы. Например, независимо от того, где и как вы разместите свою панель инструментов в макете, блок списка продуктов всегда будет перемещать панель инструментов обратно как свой собственный дочерний элемент (см. Этот комментарий на Github ).
Вот еще одно решение, которое представляет собой комбинацию решения Николаса Миллера и Кунджа. Преимущество решения Николаса Миллера и Чирага Пателя в том, что коллекция продуктов не будет загружаться дважды.
Аналогично, правильное имя блока панели инструментов также должно быть установлено соответственно в блоке списка продуктов (если имя вашей пользовательской панели инструментов отличается от имени по умолчанию).
Обновить
Чтобы это решение работало, вам нужен хотя бы Magento 2.2.6.
Это не работает в 2.2.5. Любая помощь будет принята с благодарностью.
Cypher909
Мой код был протестирован с 2.2.6. Я не уверен, есть ли какие-либо существенные различия между 2.2.5и 2.2.6относительно блока списка товаров или блока панели инструментов.
fritzmg
Все эти файлы и код нужны для расширения? Я также добавил module.xml. Я не уверен, что мне чего-то не хватает.
Cypher909
Также для файла Vendor / Module / Block / Product / ProductList.php должен ли он быть ListProduct.php?
Cypher909
1
Вы правы, это работает в 2.2.6. Не уверен, в чем разница, но я просто обновлю. Спасибо!
Cypher909
1
Просто добавьте ниже код в catalog_category_view.xmlфайл в вашей пользовательской теме: -
Ответы:
Попробуй это.
1. Создайте файл catalog_category_view в разделе
2. Создайте файл list2.phtml под
Примечание. Здесь я переместил панель инструментов на боковую панель (многоуровневая навигация).
Надеюсь это работает!
источник
Я думаю, что он не перемещается с использованием XML, потому что он комментирует в файле module-catalog / templates / product / list.phtml .
Кроме того, он определен в блоке module-catalog / view / frontend / layout / catalog_category_view.xml category.products.list
источник
Попробуйте этот код Создайте пользовательский модуль.
Добавьте этот код в
catalog_category_view.xml
:Теперь создайте новый
Toolbar.php
файл,{{Package Name}}\{{Your Module Name}}\Block\Toolbar
затем перейдите ниже кода в этом новом файле:Теперь удалите блок по умолчанию из макета просмотра категорий.
источник
toHtml
метода.$this->setChild()
вызове вconfigureToolbar
изProductList
. См github.com/magento/magento2/issues/7253#issuecomment-439630823Вы можете переместить боковую панель перед основной областью содержимого, используя код макета ниже:
Шаг 1: создайте / скопируйте файл 2columns-left.xml в папку Magento_Theme / page_layout / и замените содержимое ниже:
Также вы можете изменить / добавить ваши классы CSS в контейнере.
источник
1. Модульный способ.
Создать новый модуль Vendor_Module
Добавьте плагин, чтобы панель инструментов по умолчанию не отображалась.
Добавить новый блок на страницу категории.
2. Вы можете применить те же изменения к вашей теме
Вам не нужен плагин, потому что вы можете просто прокомментировать строку, где отображается панель инструментов по умолчанию.
$block->getToolbarHtml()
Строки комментариев вСоздайте тот же класс панели инструментов и поместите его в XML-макет.
источник
Основной проблемой является старая кодовая база панели инструментов и список продуктов. Некоторые из них уже исправлены в Magento 2.2.x, но все еще существуют проблемы. Например, независимо от того, где и как вы разместите свою панель инструментов в макете, блок списка продуктов всегда будет перемещать панель инструментов обратно как свой собственный дочерний элемент (см. Этот комментарий на Github ).
Вот еще одно решение, которое представляет собой комбинацию решения Николаса Миллера и Кунджа. Преимущество решения Николаса Миллера и Чирага Пателя в том, что коллекция продуктов не будет загружаться дважды.
Производитель / модуль / блок / продукта / ProductList / Toolbar.php
Производитель / модуль / блок / продукта / ListProduct.php
и т.д. / интерфейс / di.xml
Теперь вы сможете
product_list_toolbar
свободно перемещаться без проблем. например: catalog_category_view.xml :В качестве дополнительного бонуса вы также можете установить имя блока списка товаров, если вам необходимо:
Аналогично, правильное имя блока панели инструментов также должно быть установлено соответственно в блоке списка продуктов (если имя вашей пользовательской панели инструментов отличается от имени по умолчанию).
Обновить
Чтобы это решение работало, вам нужен хотя бы Magento
2.2.6
.источник
2.2.6
. Я не уверен, есть ли какие-либо существенные различия между2.2.5
и2.2.6
относительно блока списка товаров или блока панели инструментов.Просто добавьте ниже код в
catalog_category_view.xml
файл в вашей пользовательской теме: -источник