Я пытаюсь получить атрибут товара в шаблоне корзины. Но у меня просто не работает! Атрибут имеет значение Видимый на страницах каталога в Магазине = да и Используется в списке товаров = да
Я использую пользовательский модуль для переопределения следующего шаблона:
/vendor/magento/module-checkout/view/frontend/templates/cart/item/default.phtml
У меня есть продукт:
$_item = $block->getItem();
$product = $_item->getProduct();
Обычно я ожидаю, что пользовательский атрибут (в данном случае типа text-area) с кодом атрибута «sample_attr» будет доступен с одним из них:
$product->getData('sample_attr');
или
$product->getSampleAttr();
Некоторые атрибуты доступны с использованием этого (sku, weight, price ..), но для пользовательского атрибута ни один не работает. Включенный помощник (\ Magento \ Msrp \ Helper \ Data) также не имеет метода атрибутов.
Я могу получить все коды атрибутов, используя:
$attributes = $product->getAttributes();
foreach($attributes as $a)
{
var_dump($a->getName());
}
Я также попробовал:
$attribute = $product->getResource()->getAttribute('sample_attr');
var_dump($attribute->getFrontend()->getValue($product));
но это возвращает ноль.
Итак, как мне получить значение атрибута?
Я пробовал это: получить конкретный атрибут для каждого продукта на странице каталога
Вывести пользовательский текстовый атрибут в каталог list.phtml (Magento 2)