Cómo actualizar el valor del atributo del producto mediante programación en Magento 2

Estás leyendo la publicación: Cómo actualizar el valor del atributo del producto mediante programación en Magento 2

espacio de nombres Proveedor\Extensión\Ayudante;

use Magento\Catalog\Model\Product\Action como ProductAction;

use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory;

use Magento\Framework\App\Helper\AbstractHelper;

use Magento\Framework\App\Helper\Context;

use Magento\Store\Model\StoreManagerInterface;

clase Datos extiende AbstractHelper

{

protegido $messageManager;

privado $productCollection;

$ acción del producto privado;

privado $storeManager;

función pública __construir(

Contexto $contexto,

CollectionFactory $colección,

ProductoAcción $acción,

StoreManagerInterfaz $storeManager

)

{

$this->productCollection = $colección;

$this->productAction = $action;

$this->storeManager = $storeManager;

padre::__construcción($contexto);

}

función pública setAttributeData($valor)

{

intentar {

$colección = $this->productCollection->create()->addFieldToFilter(‘*’);

$storeId = $this->storeManager->getStore()->getId();

$id = [];

$i = 0;

foreach ($colección como $elemento) {

$ids[$i] = $elemento->getEntityId();

$i++;

}

$this->productAction->updateAttributes($ids, array(‘attribute_code’ => $value), $storeId);

} atrapar (\Excepción $e) {

$this->messageManager->addError($e->getMessage());

}

}

}

🔥 Recomendado:  Publicación del Consejo: Carreras para el futuro de la IA