在Magento中创建自定义模块时,有时需要在系统中创建自定义属性.通常,我会使用我的设置模型扩展相关模块,或者只是扩展Mage_Core_Model_Resource_Setup.
如果我的模块需要向特定模型添加属性并需要特定的设置模型,例如eav或sales - 那么这里的最佳实践是什么.我想定义我自己的设置模型:MyCompany_MyModuel_Reseource_Setup(适用于1.6 +),然后在我的sql安装文件中创建所需的安装模型.这是最好的方法吗?
在模块文件中使用其他模块设置文件是完全可以接受的(并且是适当的):
$otherSetup = Mage::getResourceModel('catalog/setup','default_setup');
$otherSetup->addAttribute(...);
Run Code Online (Sandbox Code Playgroud)
特别是在安装新属性的情况下,每个模块都会为您处理特定于实体的属性默认值(请参阅_prepareValues()方法)。
这当然会在模块的安装类实例中执行,但没关系。