prestashop覆盖系统通过使用文件命名方案与许多其他系统一样工作。所以基本上,我将在/ classes / classes中创建一个类,并在/ classes中使用相同的类和文件名,只是为了简化。好吧,我必须覆盖它(使用最新的prestashop版本,可以覆盖模块,以前我们不能):
include_once(dirname(__FILE__).'/MailAlert.php');
class MailAlerts extends Module{
[....]
}
我可以用这个覆盖它:
class MailAlertsOverride extends MailAlerts{
[....]
}
嗯,它有效,文件和类得到识别,但我遇到了最初包含的MailAlert类的问题。我不能重新加入它,但是如果我不包括它,模块就会要求它。
我不想修改父类。有没有办法解决这个问题?
答案 0 :(得分:6)
好的,我错了:上面的代码正常工作:)
对于那些不知道的人(这是一个相对较新的prestashop功能),您可以覆盖/override/modules/[modulename]/[modulename.php]
使用特殊类命名,您可以在上面阅读:modulenameOverride extends modulename