¿Has probado la acción setTemplate al hacer referencia al contenedor raíz que te permitirá cambiar las plantillas a 1 columna, 2 columnas a la izquierda, 2 columnas a la derecha o 3 columnas?
Aditya Shah
He intentado <move element = "product_list_toolbar" destination = "columnas" before = "div.sidebar.main" />
Lamentablemente esto no está funcionando. La barra de herramientas aún no se renderizará en absoluto. Y no entiendo por qué. Ni siquiera hay una llamada a su toHtmlmétodo.
El principal problema es la antigua base de código de la barra de herramientas y la relación de la lista de productos. Algunos de ellos ya se han rectificado en Magento 2.2.x, pero todavía hay problemas. Por ejemplo, no importa dónde o cómo coloque su barra de herramientas en el diseño, el bloque de la lista de productos siempre moverá la barra de herramientas como su propio elemento secundario (vea este comentario en Github ).
Aquí hay otra solución que es una combinación de la solución de Nicholas Miller y kunj. La ventaja sobre la solución de Nicholas Miller y Chirag Patel es que la colección de productos no se cargará dos veces.
Proveedor / Módulo / Bloque / Producto / Lista de productos / Toolbar.php
Del mismo modo, el nombre correcto del bloque de la barra de herramientas también debe establecerse en consecuencia en el bloque de la lista de productos (si el nombre de la barra de herramientas personalizada no es el predeterminado).
Actualizar
Para que esta solución funcione, necesita al menos Magento 2.2.6.
Esto no funciona en 2.2.5. Cualquier ayuda sería muy apreciada.
Cypher909
Mi código fue probado con 2.2.6. No estoy seguro de si hay diferencias significativas entre 2.2.5y con 2.2.6respecto al bloque de la lista de productos o al bloque de la barra de herramientas.
fritzmg
¿Son todos estos archivos y códigos necesarios para hacer la extensión? También agregué un module.xml. No estoy seguro de si hay algo que me falta.
Cypher909
También para el archivo Vendor / Module / Block / Product / ProductList.php ¿se suponía que era ListProduct.php?
Cypher909
1
Tienes razón, funciona en 2.2.6. No estoy seguro de cuál es la diferencia, pero lo actualizaré. ¡Gracias!
Cypher909
1
Simplemente agregue el siguiente código en el catalog_category_view.xmlarchivo en su tema personalizado: -
Respuestas:
Prueba esto.
1. Cree el archivo catalog_category_view en
2. Cree el archivo list2.phtml en
Nota: Aquí, moví la barra de herramientas a la barra lateral (navegación en capas).
¡Espero que funcione!
fuente
Creo que no se mueve usando XML, porque está comentando en el archivo module-catalog / templates / product / list.phtml .
También se define en module-catalog / view / frontend / layout / catalog_category_view.xml category.products.list block
fuente
Pruebe este código Cree el módulo personalizado.
Agregue este código en
catalog_category_view.xml
:Ahora cree
Toolbar.php
un nuevo archivo en{{Package Name}}\{{Your Module Name}}\Block\Toolbar
Luego, pase el siguiente código en ese nuevo archivo:Ahora elimine el bloque predeterminado del diseño de la vista de categoría.
fuente
toHtml
método.$this->setChild()
llamadaconfigureToolbar
deProductList
. Ver github.com/magento/magento2/issues/7253#issuecomment-439630823Puede mover la barra lateral antes del área de contenido principal utilizando el código de diseño a continuación:
Paso 1: cree / copie el archivo 2columns-left.xml en su carpeta Magento_Theme / page_layout / y reemplace los siguientes contenidos:
También puede cambiar / agregar sus clases de CSS en el contenedor.
fuente
1. Módulo de forma.
Crear un nuevo módulo Vendor_Module
Agregue un complemento para evitar que se muestre la barra de herramientas predeterminada.
Agregue un nuevo bloque a la página de categoría.
2. Puedes aplicar los mismos cambios a tu tema
No necesita un complemento porque solo puede comentar una línea donde se representa la barra de herramientas predeterminada.
$block->getToolbarHtml()
Líneas de comentario enCree la misma clase de barra de herramientas y póngala en diseño xml.
fuente
El principal problema es la antigua base de código de la barra de herramientas y la relación de la lista de productos. Algunos de ellos ya se han rectificado en Magento 2.2.x, pero todavía hay problemas. Por ejemplo, no importa dónde o cómo coloque su barra de herramientas en el diseño, el bloque de la lista de productos siempre moverá la barra de herramientas como su propio elemento secundario (vea este comentario en Github ).
Aquí hay otra solución que es una combinación de la solución de Nicholas Miller y kunj. La ventaja sobre la solución de Nicholas Miller y Chirag Patel es que la colección de productos no se cargará dos veces.
Proveedor / Módulo / Bloque / Producto / Lista de productos / Toolbar.php
Proveedor / Módulo / Bloque / Producto / ListProduct.php
etc / frontend / di.xml
Ahora debería poder moverlo
product_list_toolbar
libremente sin ningún problema. por ejemplo: catalog_category_view.xml :Como una ventaja adicional, también puede establecer un nombre de bloque de lista de productos personalizado, si necesita:
Del mismo modo, el nombre correcto del bloque de la barra de herramientas también debe establecerse en consecuencia en el bloque de la lista de productos (si el nombre de la barra de herramientas personalizada no es el predeterminado).
Actualizar
Para que esta solución funcione, necesita al menos Magento
2.2.6
.fuente
2.2.6
. No estoy seguro de si hay diferencias significativas entre2.2.5
y con2.2.6
respecto al bloque de la lista de productos o al bloque de la barra de herramientas.Simplemente agregue el siguiente código en el
catalog_category_view.xml
archivo en su tema personalizado: -fuente