2012-02-13 23 views
0

如果编写模块来添加和修改某些目录逻辑。在创建名为“目录”的模块中是否存在任何错误或违反任何标准/最佳实践的模块,该模块位于app/code/local目录中?Magento中的目录覆盖模块是否有标准的命名约定?

例如:

app/ 
--code/ 
----local/ 
------Catalog/ 
--------controllers/ 
--------etc/ 

- 或者应该把它作为前缀,是这样的:Foo_Catalog

我专门找了这一点,如果最佳做法/存在Magento的标准。 (而不仅仅是意见)

回答

1

最佳实践将从本质上通过您的模块及其特定目的扩展Catalog。因此,目录内如果要添加/修改产品的图片库功能模块的模块可能被命名为CompanyName_NewGallery,然后你可以有一个文件夹结构,像这样:

app/ 
--code/ 
----local/ 
------CompanyName/ 
--------NewGallery/ 
----------Block/Catalog/Product/Gallery.php 
----------controllers/Catalog/ 
----------etc/ 

在你的config.xml中,你会设置它让你的Gallery.php将覆盖Magento的下列方式:

<global> 
     <blocks> 
      <sales> 
       <rewrite> 
        <product_gallery>CompanyName_NewGallery_Block_Catalog_Product_Gallery</product_gallery> 
       </rewrite> 
      </sales> 
     </blocks> 
</global> 

然后声明你的类,你可以完全覆盖类并扩展原始类的父(Mage_Core_Block_Template)或原班(Mage_Catalog_Block_Product_Gallery)