我想通过模块扩展一些核心类和控制器,但我不知道如何。我可以用覆盖来做到这一点,但根据开发人员的说法,这不是一个好方法:
但遗留的架构仍然可以被覆盖。但在 一般来说,我们建议不要重写代码。 最好扩展它。
但我该如何延长呢?有代码示例吗?
祝你好运
答案 0 :(得分:0)
在prestashop文档中,您可以看到override。
将ur class放在/ modules / my_module / override / classes中 或controller / modules / my_module / override / controllers / {front或admin}
我在我的模块上使用它。
我的模块示例,覆盖了前控制器功能:
<?php
class FrontController extends FrontControllerCore
{
protected function smartyOutputContent($content)
{
if (version_compare(_PS_VERSION_, '1.7', '<')) {
//do something
} else {
parent::smartyOutputContent($content);
}
}
}