J'essaie de récupérer un attribut de produit dans le modèle de panier. Mais je ne fonctionne tout simplement pas! L'attribut est défini sur Visible sur les pages de catalogue sur la vitrine = oui et utilisé dans la liste des produits = oui
J'utilise un module personnalisé pour remplacer le modèle suivant:
/vendor/magento/module-checkout/view/frontend/templates/cart/item/default.phtml
J'ai le produit:
$_item = $block->getItem();
$product = $_item->getProduct();
Normalement, je m'attendrais à ce qu'un attribut personnalisé (de type zone de texte dans ce cas) avec un code d'attribut 'sample_attr' soit disponible avec l'un d'eux:
$product->getData('sample_attr');
ou
$product->getSampleAttr();
Certains attributs sont disponibles en utilisant ceci (sku, poids, prix ..), mais pour un attribut personnalisé, cela ne fonctionne pas. L'assistant inclus (\ Magento \ Msrp \ Helper \ Data) n'a également aucune méthode d'attribut.
Je peux obtenir tous les codes d'attribut en utilisant:
$attributes = $product->getAttributes();
foreach($attributes as $a)
{
var_dump($a->getName());
}
J'ai aussi essayé:
$attribute = $product->getResource()->getAttribute('sample_attr');
var_dump($attribute->getFrontend()->getValue($product));
mais cela renvoie null.
Alors, comment puis-je obtenir la valeur de l'attribut?
J'ai essayé ceux-ci: obtenir un attribut spécifique pour chaque produit sur la page du catalogue
Attribut de texte personnalisé en sortie dans le catalogue list.phtml (Magento 2)