我正在将国家/地区的区域添加到Magento中的数据库中,因此当用户选择其国家/地区时,相关的区域列表将在下拉菜单中可用。为此,我认为我需要向directory_country_region
和directory_country_region_name
添加信息。
我一直在研究的教程指出我应该使用sql将它们直接添加到数据库中,但是我记得在使用Magento时你不应该使用原始的sql将信息直接放到数据库中。
我的问题是:
1-为了与最佳实践保持一致我是否需要使用一些magento函数将所需信息添加到我的数据库中,还是可以使用原始sql将其删除?
2-如果我需要使用一些Magento功能,我如何计算出我需要使用的功能(我已经听说并注意到缺少文档)或者是否有一些在线参考,即使它是有限的?
3-如果我不使用SQL查询,为什么在Magento中这样做被认为是不好的做法?
答案 0 :(得分:0)
您好,如果您只想添加一次信息,您可以使用原始sql(更快,没有缺点),您也可以使用2个表(如果该国家/地区已经在directory_country中)。如果你想制作一些可用于更多Magento instalations的东西,你必须创建一个新的Magento模块并使用安装程序添加sql,你可以在这里阅读更多内容http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-6-magento-setup-resources
Magento wiki是一个很好的起点,也有很多博客文章。
这被认为是一种不好的做法,因为Magento有自己的ORM,大部分时间用于新的表(实体),你只需要创建扩展magento核心模型的模型,你就可以在没有任何开发的情况下访问CRUD每个使用新模块的人都会明白发生了什么。 可以使用类Mage_Directory_Model_Region或区域集合的区域示例Mage_Directory_Model_Resource_Region_Collection