Estás leyendo la publicación: Cómo anular bloque, modelo y controlador en Magento 2
espacio de nombres [Vendor]\[Module]\Modelo\Reescribir;
use Magento\Catalog\Api\ProductRepositoryInterface;
use Magento\Framework\Pricing\Helper\Data;
clase ConfigurableAttributeData extiende \Magento\ConfigurableProduct\Model\ConfigurableAttributeData
{
$productRepository privado;
privado $ ayudante de precios;
función pública __construir(
ProductRepositoryInterface $productRepository,
$priceHelper de datos
)
{
$this->productRepository = $productRepository;
$this->priceHelper = $priceHelper;
}
función protegida getAttributeOptionsData($atributo, $config)
{
$attributeOptionsData = [];
foreach ($atributo->getOptions() como $atributoOpción) {
$opciónId = $atributoOpción[‘value_index’];
$producto_detalles = $config[$attribute->getAttributeId()][$optionId];
$productId = $producto_detalles[0];
$producto = $este->productRepository->getById($productId);
$attributeOptionsData[] = [
‘id’ => $optionId,
‘label’ => $attributeOption[‘label’],
‘productos’ => isset($config[$attribute->getAttributeId()][$optionId])
? $config[$attribute->getAttributeId()][$optionId]
: [],
‘sku’ => $producto->getSku(),
‘childProductPrice’ => $this->priceHelper->currency($product->getFinalPrice(), true, false),
];
}
devolver $attributeOptionsData;
}
}