Problemas para anular el archivo de diseño en Magento 2


9

Estoy usando Magento 2.02. He creado mi propio tema llamado 'cff', que se basa en Luma.

Estoy tratando de eliminar el catalog.compare.linkbloque entop.links

El diseño de este bloque parece estar definido en

/vendor/magento/module-catalog/view/frontend/layout/default.xml

Y si agrego

<referenceBlock name="catalog.compare.link" remove="true" />

en ese archivo, entonces, como se esperaba, el texto 'Comparar productos' desaparece del bloque top.links.

Sin embargo, sé que se supone que no debo cambiar los archivos del proveedor. Así que estoy buscando la carpeta correcta en la que crear mi propio default.xmlarchivo para colocar el código de eliminación:

He buscado en todas partes en la documentación y en línea, pero no puedo encontrar esta información. He probado varios lugares, ninguno de ellos funciona. Pensé que este debería funcionar, pero tampoco funciona:

/app/design/frontend/cff/cff/Magento_Catalog/layout/default.xml

¿Puede alguien decirme dónde debe ir el diseño de anulación?

Este es el código dentro de mi diseño principal default.xml

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="catalog.compare.link" remove="true" />
    </body>
</page>

En primer lugar, por favor, actualice a la última versión de Magento2 (2.1.5) y debería funcionar normalmente. Además, si está en un entorno de desarrollo, NO use la implementación de contenido estático, que es para producción, y en el desarrollo debe usar enlaces simbólicos. Además, no olvide eliminar / actualizar el caché "php bin / magento cache: flush" en la raíz de su magento o del administrador
Vlad Patru

Respuestas:


1

Puede intentar simplemente eliminar el contenedor de referencia de comparación: compare-link-wrapper

<referenceContainer name="compare-link-wrapper" remove="true" />

Existe una pequeña documentación sobre la eliminación de elementos a través del diseño xml, pero puede encontrarla aquí: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/xml-instructions.html

Con respecto a su pregunta sobre dónde debe vivir ese archivo: está en lo correcto al suponer que necesitamos extender el archivo default.xml extendiéndolo en nuestro tema Magento_Catalog/layout/default.xmloMagento_Theme/layout/default.xml

Intenté usar exactamente el mismo código que proporcionó y no tuve problemas para eliminar el bloque de comparación. Comprobaría que borró sus cachés y no necesita publicar nada en su directorio pub.

ACTUALIZACIÓN 4/7/16:

Puede actualizar su directorio pub eliminando manualmente el pub/staticdirectorio y luego ejecutando el comando:

setup:static-content:deploy

Hola Tyler, no entiendo tu primera sesión. ¿Qué es un "contenedor de referencia de comparación"? el código que proporciona no aparece en /vendor/magento/module-catalog/view/frontend/layout/default.xml. He probado el archivo en las dos ubicaciones que sugieres, pero no funciona. Por favor, ¿puedes pensar en una razón por la que podría ser? Y finalmente, ¿qué quieres decir con 'publicar algo en tu directorio de pub? ¿No debería magento ocuparse de todo en esa carpeta? Perdón por ser tenue, la curva de aprendizaje es muy empinada en estas partes ...
jodaki

Lo siento, olvidé decir gracias por tu respuesta Tyler! Realmente aprecio tu ayuda ..
jodaki

@jo Agregué algunos
Tyler Craft el

0

En su carpeta de temas, vaya primero a la carpeta Magento_Theme / layout .

luego cree la carpeta layout / override / base y agregue el archivo default.xml del proveedor y agregue <referenceBlock name="catalog.compare.link" remove="true" />.


no es necesario anular, solo actualice a la última versión de Magento use el método que ya probó y tal vez simplemente elimine el caché
Vlad Patru

0

Intenté eliminar referenceContainer sidebar.additional de la página de listado de productos. Hice los siguientes procedimientos.

  1. Acabo de copiar <referenceContainer name="sidebar.additional">de \ vendor \ magento \ module-catalog \ view \ frontend \ layout \ default.xml
  2. Y ponerlo debajo <body>. El código debe estar <referenceContainer name="sidebar.additional" remove="true"></referenceContainer>en app \ design \ frontend \ theme \ theme-name \ Magento_Theme \ layout \ default.xml.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.