Magento 2 obtener producto por ID

    Compartir:

Magento 2, es la versión actualizada de magento 1.9, trae muchas mejoras, la curva de aprendizaje puede se un poco complicada, pero el resultado es increíble. Empezaré a colocar una serie de mini tutoriales que uso día a día.

El día de hoy veremos como obtener un producto por medió de su ID.

Usando $objectManager directamente

si conoces magento 1, sabras que se puede obtener el producto por medio de un objeto, en magento 2  es necesario instanciar el manejador de objetos, este manejador de objetos es una clase singleton por lo que puede ser llamada en donde sea:

$productId = 100;
$objectManager = MagentoFrameworkAppObjectManager::getInstance();
$product = $objectManager->get('MagentoCatalogModelProduct')->load($productId);

 

Usando  Factory

Se puede obtener el producto con el siguiente código:

En la clase personalizada:

protected $_productFactory;  
    ...
    public function __construct(
        ...
        MagentoCatalogModelProductFactory $productFactory
    ) {
        ...
        $this->_productFactory = $productFactory->create();
        ...
    }

    public getProductByid($id)
    {
      return $this->_productFactory->load($id);
    }


Usar en cualquier parte del módulo 
$product = $this->getProductByid($id);

 

Existen más formas de obtener un producto por el ID pero estas 2 me parecen las más adecuadas ya que la primera sigue el mismo principio de Magento 1 y la segunda se construye dentro de nuestro modulo personalizado.

 

Comentarios



Gestión Digital Web - Derechos reservados.