首页 文章

Magento:属性始终在目录视图中返回默认值,在产品视图中正常工作

提问于
浏览
1

我为产品创建了一个新的Yes / No属性 . 我已经扩展了Product模型来做一些自定义逻辑,并且自定义函数在任何地方都可以运行 .

当我最初尝试获取自定义属性值时,我遇到了一些问题 . Magento没有为我加载它,所以调用$ product-> getMyAttributeName()什么也没做 . 在产品视图中,我使用了这个附加功能:

public function getAttrVal($attr_name)
{
    return $this->getResource()->getAttribute($attr_name)->getFrontend()->getValue($this);
}

因此,在前端查看产品时效果很好 . 如果设置,它将获取指定的值,否则返回默认值 .

当我查看任何类别(该类别中所有产品的网格)时,正在执行相同的确切代码 . 但是我的getAttrVal()函数总是返回默认值,即使我已经为我的产品明确设置了这个值 .

我不能,为了我的生活,弄清楚为什么属性在Product视图中正确加载,但Category视图总是抓取默认值,尽管运行相同的确切代码 . 有什么想法吗?

1 回答

  • 1

    因为Magento将EAV模型用于其可扩展的目录属性,所以并非每个属性都可以转移到每个页面上 . 尝试摆弄属性中的“目录中显示”和其他相关变量,它可以解决您的问题 . 如果没有,请说出来,我们可以尝试其他事情 .

    希望有所帮助!

    谢谢,乔

相关问题