Я создал новый атрибут Да / Нет для продуктов. Я расширил модель Product для создания некоторой пользовательской логики, и пользовательские функции работают везде.
Когда я сначала попытался получить значение пользовательского атрибута, я столкнулся с некоторой проблемой. Magento не загружал его для меня, поэтому вызовы $ product-> getMyAttributeName () ничего не сделали. Во взглядах на продукт я получил работу с этой дополнительной функцией:
public function getAttrVal($attr_name)
{
return $this->getResource()->getAttribute($attr_name)->getFrontend()->getValue($this);
}
Так что это прекрасно работает при просмотре продукта на веб-интерфейсе. Он будет получать назначенное значение, если установлено, или значение по умолчанию, если нет.
Когда я просматриваю любую категорию (сетку всех товаров в этой категории), выполняется один и тот же точный код. Но моя функция getAttrVal () всегда возвращает значение по умолчанию, даже если я явно установил это значение для моего продукта.
Не могу понять, почему атрибут загружается правильно в представлении «Продукт», но представление «Категория» всегда получает значение по умолчанию, несмотря на выполнение одного и того же кода. Есть мысли?