J'ai créé un nouvel attribut Oui/Non pour les produits. J'ai étendu le modèle de produit pour faire une certaine logique personnalisée et les fonctions personnalisées fonctionnent partout.Magento: Attribut renvoie toujours la valeur par défaut dans la vue catalogue, fonctionne très bien dans la vue du produit
Lorsque j'ai essayé d'obtenir la valeur de l'attribut personnalisé, j'ai rencontré un problème. Magento ne le chargeait pas pour moi, donc les appels à $ product-> getMyAttributeName() n'ont rien fait. Dans les vues de ce produit, je l'ai eu à travailler avec cette fonction supplémentaire:
public function getAttrVal($attr_name)
{
return $this->getResource()->getAttribute($attr_name)->getFrontend()->getValue($this);
}
Alors que fonctionnait très bien lors de la visualisation d'un produit sur le frontend. Il irait chercher la valeur assignée si elle est définie, ou la valeur par défaut si ce n'est pas le cas.
Lorsque je vois une catégorie (grille de tous les produits dans cette catégorie), le même code exact est en cours d'exécution. Mais ma fonction getAttrVal() renvoie toujours la valeur par défaut, même si j'ai explicitement défini cette valeur pour mon produit.
Je ne peux pas, pour la vie de moi, comprendre pourquoi l'attribut se charge correctement dans la vue Produit, mais la vue Catégorie saisit toujours la valeur par défaut, malgré l'exécution du même code exact. Des pensées?
Eh oui, qui l'a fait. Je pensais que cela montrerait aussi la valeur, pas seulement le charger dans le modèle. Merci!! –