magento - 如何在 Magento 中覆盖驼峰命名模型文件?

标签 magento magento-1.7

我有一个运输社区模型,其中有一个我想覆盖的驼峰类/文件女巫。

原始文件/类位于app/code/community/PedroTeixeira/Correios/Model/Carrier/CorreiosMethod.php下,我想覆盖该文件的方法或整个方法app/code/local/Esmart/CorreiosImprovements/Model/Carrier/CorreiosMethod.php下的类。

原始模块配置文件中,我可以在config.xml中看到它的模型声明,如下所示:

<global>
...
    <models> 
        <pedroteixeira_correios>
            <class>PedroTeixeira_Correios_Model</class>
        </pedroteixeira_correios>
    </models>
...
    <sales>
        <shipping>
            <carriers>
                <pedroteixeira_correios>
                    <class>PedroTeixeira_Correios_Model_Carrier_CorreiosMethod</class>
                </pedroteixeira_correios>
            </carriers>
        </shipping>
    </sales>
</global>

我的模块 config.xml 中,我以这种方式声明了覆盖:

<global>
    <models>
        <esmart_correiosimprovements>
            <class>Esmart_CorreiosImprovements_Model</class>
        </esmart_correiosimprovements>

        <pedroteixeira_correios>
            <rewrite>
                <carrier_correiosMethod>Esmart_CorreiosImprovements_Model_Carrier_CorreiosMethod</carrier_correiosMethod>
            </rewrite>
        </pedroteixeira_correios>
    </models>
</global>

通常模型文件不是驼峰格式的,所以我想这更容易。或者我在这里遗漏了什么?

感谢任何帮助。

最佳答案

重写语法中使用的类组 ( <pedroteixeira_correios> ) 取决于模块配置中的类组声明。

重写语法中使用的类 ID ( <carrier_correiosMethod> ) 完全取决于代码中调用类的方式。对于您的示例,以下内容都将在区分大小写文件系统上实例化原始类实例:

  • pedroteixeira_correios/carrier_correiosMethod
  • pedroteixeira_correios/Carrier_correiosMethod
  • pedroteixeira_correios/carrier_CorreiosMethod
  • pedroteixeira_correios/Carrier_CorreiosMethod

在不区分大小写的文件系统上,类 ID 部分的任何大小写组合都会生成模型实例。希望扩展供应商在代码/标记中指定其类时遵循一致的模式,但您可以使用上面的列表指定多个 xpath 来处理所有排列。

关于magento - 如何在 Magento 中覆盖驼峰命名模型文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17595513/

相关文章:

在 FreeBSD 中从 PHP 5.5 升级后出现 PHP 5.6 错误 "Unable to connect to ssl://"

magento - 在 magento 上的类别中在商店之间切换时出现 404 错误

javascript - 防止链接的默认值取决于 Ajax 响应

magento - Magento 页面末尾的静态 block

magento - 使用soap api 访问magento 中的图像。无法访问缩略图。需要调整图像大小

Magento - 公共(public)产品页面中的 404 错误

api - 以Magento为主要工具,并创建一个单一登录即可与其他第三方软件集成

magento 网站迁移后 CSS 不加载

javascript - Magento 表单验证仅适用于组中的最后一个复选框

magento - 自定义模型集合返回 false