Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento 自定义产品属性的值未存储在数据库表中_Magento_Select_Attributes_Save_Box - Fatal编程技术网

Magento 自定义产品属性的值未存储在数据库表中

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]

我是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]:语法错误或访问冲突: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方法

希望有帮助