Magento 2가 장바구니에서 "배송비 및 세금 추정"을 제거합니다


20

장바구니에서 "배송비 및 세금 추정"블록을 제거하고 싶습니다. devdocs 는 구성 요소를 사용하지 않도록 설정하는 것이 좋습니다 . 따라서 다음을 시도했습니다.

<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>

효과가 없습니다. 또한 시도 :

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

이렇게하면 내 총계 블록이 완전히 비어 있습니다.

누구든지 제안이 있습니까?

답변:


57

닫는 / 여는 태그 와이 코드가 작동하는 양을 엉망으로 생각합니다.

<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>

제목도 제거하려면 템플릿을 무시 checkout/cart/shipping.phtml하고 다음을 주석 / 제거하십시오.

<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>

실제로, 나는 이중 <arguments> 노드를 엉망으로 만들었습니다. 제목이 여전히 표시되지만 드롭 다운의 내용이 비어 있습니다. 완전히 제거 할 제안이 있습니까?
Timon de Groot

표제는 카트 운송 템플리트에 지정되어 있습니다. /vendor/magento/module-checkout/view/frontend/templates/cart/shipping.phtml이를 고유 한 템플리트로 이동하여 텍스트를 제거 할 수 있습니다.
Corefix

1
@TimondeGroot 레이아웃 xml 파일을 만들지 않고 템플릿 파일에서 제목 부분 만 제거 할 수 있습니다. 이러한 방식으로 요약 블록에서 운송 계산을 유지하면서 "배송 비용 및 세금 추정"양식을 숨길 수 있습니다.
Andrea

@Andrea 나는 알고있는이 anwer를 업데이트하려고했지만 거부되었다.
Timon de Groot

1
재미있는 것은 HTML을 제거하지 않는다는 것입니다. 정당이 없다 "아무도 디스플레이" 추가 된. 실제 적절한 해결책은 Magento_Checkout / js에서 shipping-estimation.html을 다시 작성하고 , 더 나은 방법으로 shipping-estimation.js를 다시 작성하여 유용하지 않은 CPU 시간을 모두 제거하는 것입니다.
Pol Ravalitera

6

또한 결제 모듈과의 충돌로 인해 "배송 비용 및 세금 추정"을 제거해야했습니다.

귀하의 경우 에만 목적 하는 블록을 표시하지 , 왜 안 사용 CSS를 ? 이것은 나를 위해 일했다 :

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

(버전 : 마 젠토 2.2.1)

편집 : 2.3.3에서 위의 테스트를 수행했으며 카트의 소계 및 총계도 제거했습니다. 아래 CSS는 예상 운송료 및 세금 만 숨 깁니다. 버전 2.3.3의 경우 :

.checkout-cart-index # block-shipping {표시 : 없음; }


이 CSS를 어디에서 쓸까 ??
Manish

가장 좋은 방법은 CSS 코드를 재정의하지만 원래 코드를 변경할 필요는없는 사용자 정의 CSS 파일을 사용하는 것입니다. 이를 수행하는 방법에 대한 많은 가이드가 있습니다.
storepeinture

2
가장 최적의 솔루션은 레이아웃 방식입니다. 디스플레이를 적용하는 경우 : 아무도 블록에 js를로드하지 않습니다 (자원 사용)
Beto Castillo

3

checkout_cart_index.xml에 다음을 추가 할 수 있습니다 (물론 핵심이 아닌 사용자 정의 테마로)

<referenceBlock name="checkout.cart.shipping" display="false"/>

1
이렇게하면 총계도 제거되므로 충분히 세분화되지는 않습니다.
Robert Egginton

1
참고 위의 코드 인해 젠토 버그 모든 합계를 제거하시기 바랍니다 : github.com/magento/magento2/issues/19347
Scriptman
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.