Ich versuche, ein Produktattribut in der Warenkorbvorlage zu erfassen. Aber ich arbeite einfach nicht! Das Attribut ist auf Sichtbar auf Katalogseiten in Storefront = yes und In Produktliste = yes festgelegt
Ich verwende ein benutzerdefiniertes Modul, um die folgende Vorlage zu überschreiben:
/vendor/magento/module-checkout/view/frontend/templates/cart/item/default.phtml
Ich habe das Produkt:
$_item = $block->getItem();
$product = $_item->getProduct();
Normalerweise würde ich erwarten, dass ein benutzerdefiniertes Attribut (in diesem Fall vom Typ Textbereich) mit dem Attributcode 'sample_attr' mit einem der folgenden Werte verfügbar ist:
$product->getData('sample_attr');
oder
$product->getSampleAttr();
Einige Attribute sind mit dieser Option verfügbar (Artikelnummer, Gewicht, Preis ...), aber für ein benutzerdefiniertes Attribut funktioniert beides nicht. Der enthaltene Helfer (\ Magento \ Msrp \ Helper \ Data) hat auch keine Attributmethode.
Ich kann alle Attributcodes erhalten mit:
$attributes = $product->getAttributes();
foreach($attributes as $a)
{
var_dump($a->getName());
}
Ich habe auch versucht:
$attribute = $product->getResource()->getAttribute('sample_attr');
var_dump($attribute->getFrontend()->getValue($product));
Dies gibt jedoch null zurück.
Wie erhalte ich den Wert des Attributs?
Ich habe Folgendes ausprobiert: Für jedes Produkt auf der Katalogseite ein bestimmtes Attribut abrufen
Benutzerdefiniertes Textattribut in Katalog list.phtml ausgeben (Magento 2)