Je veux utiliser des fonctions telles que getName()
, getPrice()
, etc. du produit pour récupérer des informations produit dans Magento 2.
Quelqu'un peut-il me montrer comment y parvenir?
product
price
magento2
magento-2.0
J. John
la source
la source
Réponses:
Dans Magento 2 a proposé d'utiliser la couche de service pour cela. Essayez d'utiliser la
\Magento\Catalog\Model\ProductRepository::getById
méthode pour obtenir le produit par identifiantla source
Magento 2 recommande d'utiliser
Factories
pour charger tous les modèles. Voici comment procéder:Au-dessus de votre classe, ajoutez cette ligne:
Créez maintenant la propriété de classe:
Dans votre constructeur, ajoutez la dépendance:
Maintenant, chargez le produit comme ci-dessous:
la source
En plus des autres réponses, je suggère fortement d'utiliser les méthodes de contrats de service suivantes:
\Magento\Catalog\Api\ProductRepositoryInterface::getById
: pour charger un produit par id\Magento\Catalog\Api\ProductRepositoryInterface::get
: charger un produit par skula source
Le moyen le plus Magento d'y parvenir, bien qu'il soit difficile de le dire car la plupart des emplacements dans le code principal le font différemment, est d'utiliser le référentiel du produit.
la source
pour cela, vous devez utiliser ci-dessous
utilisation
\Magento\Catalog\Model\Resource\Product\CollectionFactory
la source
J'ai récupéré les détails du produit en utilisant la fonction dans la page d'affichage du produit comme ci-dessous.
Ici Sm / Sawyer est mon thème.
la source