0

我是 Magento 的新手,我使用的是 1.7.2。我添加了一个名为product type name. 它是一个下拉字段,值是从名为 的不同自定义表中填充的product_type_name。到目前为止,我已经成功完成。现在我想在添加产品时将产品类型名称的值存储到数据库表中。为此,我product_attrb_type_name在表中添加了一列(属性代码)catalog_product_flat_1。现在在尝试添加产品时,它显示以下错误 SQLSTATE[42000]: Syntax error or access violation: 1103 Incorrect table name '' 此外,在尝试编辑产品时,未在产品输入表单中设置值。

如何解决这个问题?请你帮助我好吗?提前致谢。

4

1 回答 1

1

Magento 使用 EAV 表结构,因此一旦添加属性,它们就会存储在具有特定实体类型的 eav_attribute 表中(产品为 4)。

现在,当您加载产品对象时,说

$product = Mage::getModel('catalog/product')->load({{entity_id}}),其中 entity_id 是您的产品 ID,

您可以在此对象上使用 get 和 set 函数来设置特定产品实例的值,即

$product->setProductTypeName('someValue'); in your case a a dropdown ,so
$product->setProductTypeName(attributeId);
$product->save();

过得去

$product->getProductTypeName();

您不必在 catalog_product_flat 表中插入,这是 Magento 将数据规范化为平面表的方式。

希望能帮助到你!

于 2014-06-07T07:37:34.113 回答