如何自定义两个magento扩展以协同工作?

时间:2014-07-09 18:01:54

标签: magento

我买了两个magento扩展(让我们称之为A和B)。每个人都做一个特定的任务,但我希望他们能够共同努力,完成我想要的任务。

以下是四种方法:

  1. 更改A的代码以使用B
  2. 更改B的代码以使用A
  3. 更改B和A的代码以协同工作
  4. 开发扩展C以在A和B之间建立桥梁
  5. 最后一个似乎是最好的,但它是唯一的理论,因为在实践中我们知道它从未如此简单。第一个和第二个似乎很好,因为我只更改了一个扩展名,但如果我更改的那个更新了怎么办?我的代码将被覆盖,我将不得不将最后一个版本与新版本合并,并在每次出现新更新时重做该过程。

    事实上,我是Magento的新手,我不知道从哪里开始,以及如何处理。你们对我应该做什么以及我不应该做什么都有建议。就像在每个企业中一样,我希望找到一个介于完美代码之间,并花费太多时间的代码。

    非常感谢。

1 个答案:

答案 0 :(得分:0)

您有3种解决冲突的选择:

  • 将一个冲突文件中的代码合并到另一个文件中,并在一个
  • 中关闭重写config.xml
  • 在一个config.xml中关闭重写,然后使冲突的扩展名PHP文件扩展另一个扩展名
  • 使用<depends>功能使一个分机取决于另一个分机。然后他们将按顺序重写

示例(选项#2)

class A_Extension_Model_Type_Onepage extends Mage_Checkout_Model_Type_Onepage

您可以将其更改为:

class A_Extension_Model_Type_Onepage extends B_Extension_Model_Type_Onepage

请参阅Multiple modules overriding same core file in Magento