Magento 2 remove "Estimar custos e impostos de remessa" do carrinho

20

Quero me livrar do bloco "Estimar custos e impostos de envio" no carrinho. Os devdocs dizem que Desativar um componente é o caminho a seguir, então tentei o seguinte:

<body>
    <referenceBlock name="checkout.cart.shipping">
        <arguments>
            <argument name="jsLayout" xsi:type="array">
                <item name="components" xsi:type="array">
                    <item name="block-summary" xsi:type="array">

                        <!-- My custom part: -->
                        <item name="config" xsi:type="array">
                            <item name="componentDisabled" xsi:type="boolean">true</item>
                        </item>

                    </item>
                </item>
            </argument>
        </arguments>
    </referenceBlock>
</body>

Sem efeito Também tentei:

<referenceBlock name="checkout.cart.shipping" remove="true"/>

Dessa forma, meu bloco de totais está totalmente vazio.

Alguém tem sugestões?

Timon de Groot
fonte

Respostas:

57

Acho que você estragou algumas tags de fechamento / abertura e a quantidade delas que esse código funciona:

<referenceBlock name="checkout.cart.shipping">
    <arguments>
        <argument name="jsLayout" xsi:type="array">
            <item name="components" xsi:type="array">
                <item name="block-summary" xsi:type="array">

                    <!-- My custom part: -->
                    <item name="config" xsi:type="array">
                        <item name="componentDisabled" xsi:type="boolean">true</item>
                    </item>

                </item>
            </item>
        </argument>
    </arguments>
</referenceBlock>

Para remover também o cabeçalho, substitua o modelo checkout/cart/shipping.phtmle comente / remova o seguinte:

<div class="title" data-role="title">
    <strong id="block-shipping-heading" role="heading" aria-level="2">
        <?php /* @escapeNotVerified */ echo $block->getQuote()->isVirtual() ? __('Estimate Tax') : __('Estimate Shipping and Tax') ?>
    </strong>
</div>
Corefix
fonte
Na verdade, eu meio que estraguei os duplos <argumentos>. O cabeçalho ainda aparece, o conteúdo do menu suspenso está vazio agora. Alguma sugestão para removê-lo completamente?
Timon de Groot
O cabeçalho é especificado no modelo de envio do carrinho: /vendor/magento/module-checkout/view/frontend/templates/cart/shipping.phtml Você pode movê-lo para o seu próprio modelo e remover o texto de lá.
precisa saber é o seguinte
1
@ TimondeGroot Você pode apenas remover a parte do título do arquivo de modelo, sem criar o arquivo xml de layout. Dessa forma, você pode preservar o cálculo da remessa no bloco de resumo, mas oculta o formulário "Estimar custos e impostos de remessa".
Andrea
@Andrea Eu sei, eu tentei atualizar este anwer dizendo isso, mas ele foi negado ..
Timon de Groot
1
O engraçado é que ele não remove o HTML. Há apenas uma "exibição: nenhuma" adicionada. A solução realmente apropriada é reescrever o shipping-estimation.html no Magento_Checkout / js e, melhor ainda, reescrever o shipping-estimation.js, para remover todo o tempo de CPU usado que não é útil.
Pol Ravalitera 29/08
6

Eu também precisava me livrar dos "Estimar custos e impostos de envio" devido a um conflito com um módulo de pagamento.

Se seu único objetivo é não mostrar o bloco , por que não usar CSS ? Isso funcionou para mim:

.cart-container .cart-summary #block-shipping {
    display: none;
}

(Versão: Magento 2.2.1)

Edit: Eu testei o acima em 2.3.3 e também removeu os sub-totais e totais de carrinhos. O CSS abaixo oculta apenas a estimativa de frete e impostos. Para a versão 2.3.3:

.checkout-cart-index # envio de bloco {display: none; }

storepeinture
fonte
Onde wite este css ??
Manish
A melhor maneira é usar um arquivo CSS personalizado que substitua o código css, mas não exija que você altere o código original. Existem muitos guias sobre como fazer isso.
storepeinture
2
A melhor e melhor solução seria o caminho do layout. Se você aplicar um display: none o bloco ainda estará carregando os js (utilização de recursos)
Beto Castillo
3

Você pode adicionar o seguinte a checkout_cart_index.xml (no seu tema personalizado, não no núcleo, é claro)

<referenceBlock name="checkout.cart.shipping" display="false"/>
pmccain
fonte
1
Isso remove os totais, bem, então não é de grão fino o suficiente para servir
Robert Egginton
1
Observe que o código acima removerá todos os totais devido a um bug do magento: github.com/magento/magento2/issues/19347
Scriptman