Magento 自定义产品属性的值未存储在数据库表中
我是Magento的新手,正在使用1.7.2。我添加了一个名为Magento 自定义产品属性的值未存储在数据库表中,magento,select,attributes,save,box,Magento,Select,Attributes,Save,Box,我是Magento的新手,正在使用1.7.2。我添加了一个名为product type name的产品属性。它是一个下拉字段,从名为product\u type\u name的不同自定义表填充值。到目前为止,我做得很成功。现在我想在添加产品时将产品类型名称的值存储到DB表中。为此,我在catalog\u product\u flat\u 1表中添加了一列product\u attrb\u type\u name(属性代码)。 现在,在尝试添加产品时,它显示以下错误 SQLSTATE[42000]
product type name
的产品属性。它是一个下拉字段,从名为product\u type\u name
的不同自定义表填充值。到目前为止,我做得很成功。现在我想在添加产品时将产品类型名称的值存储到DB表中。为此,我在catalog\u product\u flat\u 1
表中添加了一列product\u attrb\u type\u name
(属性代码)。
现在,在尝试添加产品时,它显示以下错误
SQLSTATE[42000]:语法错误或访问冲突:1103不正确的表名“”
此外,在尝试编辑产品时,产品输入表单中不会设置这些值
如何解决这个问题?你能帮帮我吗?
提前感谢。Magento使用EAV表结构,因此,一旦添加属性,它们将以特定的实体类型存储在EAV_属性表中(产品为4) 现在,当您加载产品对象时
$product=Mage::getModel('catalog/product')->load({{entity\u id}})
,其中entity\u id是您的产品id
您可以在此对象上使用get和set函数来设置特定产品实例的值,即
$product->setProductTypeName('someValue'); in your case a a dropdown ,so
$product->setProductTypeName(attributeId);
$product->save();
过得去
$product->getProductTypeName();
您不必在catalog_product_平面表中插入,这是将数据规范化为平面表的Magento方法
希望有帮助