How to remove edit and delete button from minicart?
-
10-12-2020 - |
Question
I tried,
vendor\magento\module-checkout\view\frontend\web\template\minicart\item\default.html
I removed below lines
<div class="product actions">
<!-- ko if: is_visible_in_site_visibility -->
<div class="primary">
<a data-bind="attr: {href: configure_url, title: $t('Edit item')}" class="action edit">
<span data-bind="i18n: 'Edit'"></span>
</a>
</div>
<!-- /ko -->
<div class="secondary">
<a href="#" data-bind="attr: {'data-cart-item': item_id, title: $t('Remove item')}"
class="action delete">
<span data-bind="i18n: 'Remove'"></span>
</a>
</div>
</div>
But still there is no effect. Can anyone tell me the correct way to do?
Solution
Do not change directly core files, you should override default.html in custom theme
Copy
vendor/magento/module-checkout/view/frontend/web/template/minicart/item/default.html
toapp/design/frontend/Vendor/theme/Magento_Checkout/web/template/minicart/item/default.html
And now remove product actions
div(Edit And Delete div) from default.html
There are two way to see changes of static files
By removing the same file from pub/static OR
Do static-content:deploy
For example this case you should remove default.html
from pub/static/frontend/vendor/theme/en_US/Magento_Checkout/template/minicart/item/default.html
and flush cache to see changes.
Or run this command to clear static files from pub
php bin:magento setup:static-content:deploy
OTHER TIPS
If you don't mind a softer approach to removing them via CSS, fortunately the layout renedered is set on the body
class, for Example for the Checkout page:
<body class="checkout-index-index ...">
So you could add a display
scope to the minicart:
/* The Edit & Remove Buttons */
body.checkout-index-index #mini-cart .product.actions,
body.checkout-index-index #mini-cart .details-qty {
display: none;
}