カートテンプレートで商品属性を取得しようとしています。しかし、私はうまくいきません!この属性は、ストアフロントのカタログページで表示可能=はい、製品リストで使用済み=はいに設定されます。
カスタムモジュールを使用して、次のテンプレートをオーバーライドします。
/vendor/magento/module-checkout/view/frontend/templates/cart/item/default.phtml
私は製品を持っています:
$_item = $block->getItem();
$product = $_item->getProduct();
通常、 'sample_attr'の属性コードを持つカスタム属性(この場合はtext-areaタイプ)は、次のいずれかで使用可能になると予想されます。
$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));
しかし、これはnullを返します。
それでは、どのようにして属性の値を取得しますか?
私はこれらを試しました: カタログページで各製品の特定の属性を取得します