Ocorreu um problema ao substituir o arquivo de layout no Magento 2

9

Estou usando o Magento 2.02. Criei meu próprio tema chamado 'cff', baseado no Luma.

Estou tentando remover o catalog.compare.linkblocotop.links

O layout deste bloco parece estar definido em

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

E se eu adicionar

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

nesse arquivo, como esperado, o texto 'Comparar produtos' desaparece do bloco top.links.

No entanto, eu sei que não devo alterar os arquivos do fornecedor. Então, eu estou procurando a pasta correta na qual criar meu próprio default.xmlarquivo para colocar o código de remoção:

Procurei em toda a documentação e on-line, mas não consigo encontrar essas informações. Eu tentei vários locais, nenhum deles funciona. Eu pensei que este deveria funcionar, mas também não:

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

Alguém pode me dizer para onde deve ir o layout de substituição?

Este é o código dentro do meu layout de substituição 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>
jodaki
fonte
Antes de mais nada, pls atualize para a versão mais recente do Magento2 (2.1.5) e deve funcionar normalmente. Além disso, se você estiver no ambiente de desenvolvimento, NÃO use a implantação de conteúdo estático, ou seja, para produção, e no desenvolvimento, use links simbólicos. Também não se esqueça de remover / cache de atualização "php bin / magento de cache: Resplendor" na raiz do seu magento ou de administrador
Vlad Patru

Respostas:

1

Você pode tentar remover o contêiner de referência de comparação: compare-link-wrapper

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

Há pouca documentação sobre a remoção de elementos via xml de layout, mas você pode encontrá-lo aqui: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/xml-instructions.html

Em relação à sua pergunta sobre onde esse arquivo precisa residir: Você está certo ao supor que precisamos estender o default.xml estendendo-o em nosso tema Magento_Catalog/layout/default.xmlouMagento_Theme/layout/default.xml

Eu apenas tentei usar exatamente o mesmo código que você forneceu e não teve problemas para remover o bloco de comparação. Verifiquei novamente se você limpou os caches e não precisa publicar nada no diretório do pub.

ATUALIZAÇÃO 4/7/16:

Você pode atualizar seu diretório pub excluindo manualmente o pub/staticdiretório e executando o comando:

setup:static-content:deploy
Tyler Craft
fonte
Oi Tyler, eu não entendo sua primeira expressão. o que é um 'comparar contêiner de referência'? o código que você fornece não aparece em /vendor/magento/module-catalog/view/frontend/layout/default.xml. Eu tentei o arquivo nos dois locais sugeridos, mas ele não funciona. Por favor, você pode pensar em uma razão pela qual isso pode ser? E finalmente, o que você quer dizer com 'publicar alguma coisa no seu diretório de pub? O magento não deveria cuidar de tudo nessa pasta? Desculpe a ser fraca, a curva de aprendizagem é íngreme sangrenta rodada estas partes ...
jodaki
Desculpe, esqueci de dizer obrigado pela sua resposta Tyler! Eu realmente aprecio a sua ajuda ..
jodaki
@jo eu adicionei alguns
Tyler Craft
0

Na sua pasta de temas, vá primeiro à pasta Magento_Theme / layout .

crie a pasta layout / override / base e adicione o arquivo default.xml do fornecedor e adicione <referenceBlock name="catalog.compare.link" remove="true" />.

Dhaval
fonte
não há necessidade de substituição, apenas atualizar a última versão do Magento usar o método que ele já tentei e talvez apenas remover o cache
Vlad Patru
0

Tentei remover o referenceContainer sidebar.additional da página de listagem de produtos. Eu fiz os seguintes procedimentos.

  1. Acabei de copiar <referenceContainer name="sidebar.additional">de \ vendor \ magento \ module-catalog \ view \ frontend \ layout \ default.xml
  2. E colocá-lo em baixo <body>. O código deve estar procurando <referenceContainer name="sidebar.additional" remove="true"></referenceContainer>em app \ design \ frontend \ theme \ theme-name \ Magento_Theme \ layout \ default.xml.
TS Guhan
fonte