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:
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.