Magento创建一个整数的产品属性

Jos*_*ton 3 php attributes magento

显然,当您购买企业版时,您从Varien获得的支持几乎毫无价值,所以我希望这里的某个人可以带领我朝着正确的方向前进.

在Magento中,我想创建一个int类型的product属性.当我从管理面板创建属性时,它将其创建为varchar.

我最终要做的是创建一个总销售属性,以便我可以使用它来按类别显示中的大多数销售产品进行分类.它是varchar的问题是,当你按此排序时,它将它排序为字符串而不是数字.

Varien告诉我,为了使它成为一个整数,我必须对数据库进行更新.在我看来,我必须将eav_attribute表中的backend_type列更改为int,并且希望将值移动到catalog_product_entity_int表而不是将其移至catalog_product_entity_varchar表.这有意义吗?有没有其他人这样做过?

现在我有那个问题,这是我应该从Varien的支持中得到的吗?到目前为止,他们的支持似乎毫无用处.看来问这么简单的事情并不是什么大问题(特别是因为我问他们该怎么做,而不是为我做这件事)

Ala*_*orm 5

我以前从未试图改变现有属性的类型,并且我试图不用直接使用mysql数据库结构.这有点像直接更改正在运行的桌面应用程序中的内存位置的内容; 你可以做到,但除非你确切地知道你正在做什么,否则你会留下一些不受支持的状态.此外,我无法证明这一点,但我非常确定EAV实施的细节在产品的整个生命周期中都有机会,这意味着不同的版本会有不同的答案.

如果你可以从头开始,我会以编程方式为模型添加一个属性(围绕"定义属性的键值对的最终数组"标题).即使您无法从头开始,也可以通过编程方式创建一个整数属性,并在之前和之后对数据库进行差异化,以查看后端需要发生什么才能创建属性.

  • 差异化数据库的好建议,我同意使用框架比使用DB直接更好.另一个选项是打开SQL日志记录,以确定在创建属性时将其他操作执行并将其添加到属性集.关于SQL日志的论坛帖子:http://www.magentocommerce.com/boards/viewthread/19609/生产前不要忘记关闭! (2认同)