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;
};
});