Saltar al contenido

Magento 2: Ocultar elemento de precio de nivel

Solución:

Leí un poco la respuesta de Khoa TruongDinh y descubrí este problema publicado en el github de Magento:

https://github.com/magento/magento2/issues/4945

Parece que este es un error conocido que se ha corregido para v2.3.

Me las arreglé para solucionar el error en mi tema personalizado usando tres métodos diferentes.

Método uno:

Añadió la línea

<referenceBlock name="product.price.tier" remove="true" />

para

<Vendor>/<Theme>/Magento_Theme/layout/default.xml

Y parece que funciona.

Método dos:

Primero, copié el archivo

Magento/Catalog/layout/catalog_product_view.xml

para

<Vendor>/<Theme>/Magento_Catalog/layout/catalog_product_view.xml

.

Luego, eliminé el siguiente código del nuevo archivo:

<block class="MagentoCatalogPricingRender" name="product.price.tier" after="product.info.price">
<arguments>
<argument name="price_render" xsi:type="string">product.price.render.default</argument>
<argument name="price_type_code" xsi:type="string">tier_price</argument>
<argument name="zone" xsi:type="string">item_view</argument>
</arguments>
</block>

Método 3 (de la respuesta de Khoa TruongDinh):

Vea cómo se representa el precio de nivel:

Magento ConfigurableProduct Block Product View Type Configurable :: getOptionPrices

El producto configurable JS proviene de aquí:

Magento_ConfigurableProduct / js / configurable

Crear requirejs-config.js archivar aquí:

aplicación / código /[Vendor]/[Module]/view/frontend/requirejs-config.js

Crea el siguiente mixin dentro del archivo requirejs-config.js:

var config = {
    config: {
        mixins: {
            'Magento_ConfigurableProduct/js/configurable': {
                'Vendor_Catalog/js/configurable-mixin': true
            }
        }
    }
};

Entonces crea configurable-mixin.js aquí:

aplicación / código /[Vendor]/[Module]/view/frontend/web/js/configurable-mixin.js

configurable-mixin.js debe contener el siguiente código:

define(
[
    'jquery'
],
function ($) {
    'use strict';

    return function (target) {
        $.widget('mage.configurable', target, {

            _displayTierPriceBlock: function (optionId) {
               //Do no thing here.
            }
        });

        return $.mage.configurable;
    };
});

Método 4 (de la respuesta de Goodlook):

Copia el archivo

Magento/Catalog/layout/catalog_product_view.xml

para

<Vendor>/<Theme>/Magento_Catalog/layout/catalog_product_view.xml

y elimine la siguiente línea:

<?= /* @escapeNotVerified */ $block->renderAmountMinimal() ?>

Podemos ver cómo se generó el precio de nivel: MagentoConfigurableProductBlockProductViewTypeConfigurable::getOptionPrices.

Existe una manera fácil de ocultar el precio del nivel, pero no estoy seguro de que sea la mejor:

El js para cambiar el valor del producto configurable proviene de Magento_ConfigurableProduct/js/configurable.

Necesitamos anularlo usando mixin

aplicación / código /[Vendor]/[Module]/view/frontend/requirejs-config.js

var config = {
    config: {
        mixins: {
            'Magento_ConfigurableProduct/js/configurable': {
                'Vendor_Catalog/js/configurable-mixin': true
            }
        }
    }
};

aplicación / código /[Vendor]/[Module]/view/frontend/web/js/configurable-mixin.js

define(
[
    'jquery'
],
function ($) {
    'use strict';

    return function (target) {
        $.widget('mage.configurable', target, {

            _displayTierPriceBlock: function (optionId) {
               //Do no thing here.
            }
        });

        return $.mage.configurable;
    };
});
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *