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>

Дійсно, я на зразок переплутав подвійні вузли <аргументи>. Заголовок все ще відображається, але вміст випадаючого меню зараз порожній. Будь-які пропозиції повністю видалити його?
Тімон де Гроот

Заголовок вказаний у шаблоні доставки в кошику: /vendor/magento/module-checkout/view/frontend/templates/cart/shipping.phtml Ви можете перемістити його у свій власний шаблон і видалити звідти текст.
Corefix

1
@TimondeGroot Ви можете просто видалити заголовну частину з файлу шаблону без створення файлу xml-макета. Таким чином ви можете зберегти розрахунок доставки у підсумковому блоці, але приховати форму "Розрахунок витрат на доставку та податок".
Андреа

@Andrea Я знаю, я намагався оновити цю анверу, розповідаючи про це, але мені було відмовлено ..
Timon de Groot

1
Найсмішніше те, що він не видаляє HTML. Додано лише "дисплей: жоден" . Справжнє правильне рішення - переписати shipping-estimation.html в Magento_Checkout / js , а ще краще, переписати shipping-estimation.js, щоб видалити весь не корисний використаний час процесора.
Pol Ravalitera

6

Мені також потрібно було позбутися "Оцінити витрати на доставку та податок" через конфлікт із платіжним модулем.

Якщо ваша єдина мета - не показувати блок , чому б не використовувати CSS ? Це працювало для мене:

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

(Версія: Magento 2.2.1)

Редагувати: я тестував вище на 2.3.3, і він також видалив візки підсумкових і підсумкових. Наведений нижче CSS приховує лише кошторис доставки та податок. Для версії 2.3.3:

.checkout-cart-index # блок-доставка {display: none; }


Куди би це css?
Маніш

Найкращий спосіб - використовувати користувальницький CSS-файл, який переосмислює css-код, але не вимагає від вас змінити вихідний код. Існує багато посібників, як це зробити.
storepeinture

2
Найкращим і оптимальним рішенням буде макет спосіб. Якщо застосувати дисплей: жоден блок все ще не буде завантажувати js (використовуючи ресурси)
Beto Castillo

3

Ви можете просто додати наступне до checkout_cart_index.xml (у власну власну тему, а не основна)

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

1
Це також знімає підсумки, тому недостатньо дрібнозернистий, щоб служити
Роберт Еггінтон

1
Зауважте, що вищевказаний код видалить усі підсумки через помилку magento: github.com/magento/magento2/isissue/19347
Scriptman
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.