2011-11-22 12 views
0

我想创建一个模块,通过它我可以在magento中的数据库中的newsletter_subscriber表中添加一个字段。 虽然我在过去的客户表中添加了一个字段,但我无法在新闻信函表中输入字段。它总是给我错误“调用未定义的函数addAttribute”。在magento中添加newsletter_subscriber表中的字段

我也尝试在config.xml中使用 Mage_Eav_Model_Entity_Setup,然后出现另一个错误“错误的实体”。 我正在使用以下行添加一个字段。

$ installer->的addAttribute( '通讯/订户', '城市',阵列( '类型' enter code here => 'VARCHAR', '标签'=> '城市', '可见'=>假, 'required'=> false ));

请告诉我我错在哪里?

回答

0

您无法将表属性添加到newsletter_subscriber表中。在最新的Magento版本,你应该使用

$table = $installer->getTable('newsletter_subscriber'); 
$table->addColumn('<field>', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
    'unsigned' => true, 
    'nullable' => false, 
    'primary' => true, 
)); 
+0

我工作或magento1.6.0,仍然有出现的错误“在非对象上调用成员函数addColumn()“ – mjdevloper

+0

getTable将表名重新命名为字符串 – frnhr

0

这里是如何在自定义列在Magento 1.9添加到newsletter_subscriber

$installer = $this; 
$installer->startSetup(); 
$table = $this->getTable('newsletter_subscriber'); 

$installer->getConnection() 
    ->addColumn(
     $table, 
     '<field>', array(
      'type'  => Varien_Db_Ddl_Table::TYPE_SMALLINT, 
      'nullable' => true, 
      'after'  => null, 
      'comment' => 'Note: the comment is mandatory' 
     ) 
    ); 

$installer->endSetup(); 
相关问题