Sto cercando di afferrare un attributo del prodotto nel modello del carrello. Ma non funziona! L'attributo è impostato su Visibile nelle pagine del catalogo su Storefront = yes e utilizzato nella scheda di prodotto = yes
Uso un modulo personalizzato per sovrascrivere il seguente modello:
/vendor/magento/module-checkout/view/frontend/templates/cart/item/default.phtml
Ho il prodotto:
$_item = $block->getItem();
$product = $_item->getProduct();
Normalmente mi aspetterei che un attributo personalizzato (di tipo area di testo in questo caso) con un codice di attributo di 'sample_attr' sia disponibile con uno di questi:
$product->getData('sample_attr');
o
$product->getSampleAttr();
Alcuni attributi sono disponibili usando questo (sku, peso, prezzo ..), ma per un attributo personalizzato non funziona. Anche l'helper incluso (\ Magento \ Msrp \ Helper \ Data) non ha alcun metodo di attributo.
Posso ottenere tutti i codici degli attributi usando:
$attributes = $product->getAttributes();
foreach($attributes as $a)
{
var_dump($a->getName());
}
Ho anche provato:
$attribute = $product->getResource()->getAttribute('sample_attr');
var_dump($attribute->getFrontend()->getValue($product));
ma questo restituisce null.
Quindi, come posso ottenere il valore dell'attributo?
Ho provato questi: ottenere l'attributo specifico per ciascun prodotto sulla pagina del catalogo
Attributo del testo personalizzato di output nell'elenco del catalogo.phtml (Magento 2)