Próbuję pobrać atrybut produktu w szablonie koszyka. Ale ja po prostu nie działa! Atrybut jest ustawiony na Widoczny na stronach katalogu w witrynie Storefront = yes i używany na liście produktów = tak
Korzystam z niestandardowego modułu, aby zastąpić następujący szablon:
/vendor/magento/module-checkout/view/frontend/templates/cart/item/default.phtml
Mam produkt:
$_item = $block->getItem();
$product = $_item->getProduct();
Normalnie oczekiwałbym, że niestandardowy atrybut (w tym przypadku typu text-area) z kodem atrybutu „sample_attr” będzie dostępny z jednym z następujących:
$product->getData('sample_attr');
lub
$product->getSampleAttr();
Niektóre atrybuty są dostępne przy użyciu tego (SKU, waga, cena ..), ale dla atrybutu niestandardowego nie działa. Dołączony pomocnik (\ Magento \ Msrp \ Helper \ Data) również nie ma metody atrybutu.
Mogę uzyskać wszystkie kody atrybutów, używając:
$attributes = $product->getAttributes();
foreach($attributes as $a)
{
var_dump($a->getName());
}
Próbowałem też:
$attribute = $product->getResource()->getAttribute('sample_attr');
var_dump($attribute->getFrontend()->getValue($product));
ale zwraca wartość null.
Jak więc uzyskać wartość atrybutu?
Próbowałem: Uzyskaj określony atrybut dla każdego produktu na stronie katalogu
Wyjście niestandardowego atrybutu tekstu w katalogu list.phtml (Magento 2)