更比通常情况下,我们需要创建一个新的 Magento 属性来扩展某些 Magento 函数或甚至是一个新的属性组来服务于我们自己的模块。这里是我们如何做到使用 sql 安装程序文件。

第一,几句话的 sql 安装程序文件。

如果这是首次建立的模块或全新安装,创建一个 php 文件,说"mysql4-安装-0.1.0.php",在 [公司] / [模块] /sql/ [模块] / [模块] _setup / 文件夹,在其中定义 0.1.0 版本的 config.xml 文件。

在模块升级的情况下尝试像"mysql4-升级-0.1.0-0.2.0.php",再次,验证您升级版本中的 config.xml 文件。

 

在此文件中,首先我们需要启动:

1 [codesyntax lang="php" lines="fancy"]

2

3 $installer = $this;

4 $setup = new Mage_Eav_Model_Entity_Setup('core_setup');

5 $installer->startSetup();

6 [/codesyntax]

 

然后,如果您想要创建一个新的属性组:

1 [codesyntax lang="php" lines="fancy"]

2

3 $setup->addAttributeGroup('catalog_product', 'Default', 'Test Group', 1000);

4 [/codesyntax]

 

如果你不想创建一个新的属性组,在这里 'catalog_product' 用来检索 entityTypeId,你可以使用 'sales_order'、 '客户/客户 '、' 客户/地址 ',以及,可以跳过这条线。默认是 attributeSet 的名称。测试组是您想要创建的组名称,您可以只使用现有的如 '一般'。1000 只的排序顺序,给它一个大的数字,所以新一将追加到结尾。

下一步,添加新的属性:

1 [codesyntax lang="php" lines="fancy"]

2 $setup->addAttribute('catalog_product', 'owner_id', array(

3 'group' => 'General',

4 'input' => 'text',

5 'type' => 'text',

6 'label' => 'Testing',

7 'backend' => '',

8 'visible' => 1,

9 'required' => 0,

10 'user_defined' => 1,

11 'searchable' => 0,

12 'filterable' => 0,

13 'comparable' => 0,

14 'visible_on_front' => 0,

15 'visible_in_advanced_search' => 0,

16 'is_html_allowed_on_front' => 0,

17 'is_configurable' => 1,

18 'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,

19 ));

20 $installer->endSetup();

21 [/codesyntax]