gpt4 book ai didi

magento - 如何覆盖 Magento 中的驼峰模型文件?

转载 作者:行者123 更新时间:2023-12-02 04:58:08 25 4
gpt4 key购买 nike

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

原始文件/类位于 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com