如何解决如何覆盖 PrestShop 1.7.7 模块类?
我想覆盖位于文件中的 PrestaShop 模块 MysqL
的 ps_facetedsearch
类:mystore/modules/ps_facetedsearch/src/Adapter/MysqL.PHP
我如何实现这一目标?
编辑:
我想覆盖的类 MysqL
在文件 mystore/modules/ps_facetedsearch/src/Adapter/MysqL.PHP
中定义。
此类由同一模块的类 Search
使用,并在文件 mystore/modules/ps_facetedsearch/src/Product/Search.PHP
中定义。类 Search
被另一个模块类使用,等等,所以有一个很长的类“链”。
我是否需要扩展所有链接的类,或者我可以以某种方式只覆盖真正需要修改的 MysqL
类?
解决方法
覆盖模块类
要修改模块类的行为,您必须将修改后的类放在
ROOT/override/modules/MODULENAME/OVERRIDECLASS.php
您必须在下面的位置创建一个 PHP 文件并将其命名为 ps_facetedsearch.php
ROOT/override/modules/ps_facetedsearch/ps_facetedsearch.php
在覆盖类中,您可以添加以下代码。
<?php
class Ps_FacetedsearchOverride extends Ps_Facetedsearch
{
public function getContent()
{
return "Hello store owner! this code is brought to you by crezzur.com";
}
}
?>
在保存您的 ps_facetedsearch.php 覆盖并清除 Prestashop 缓存后,当您打开模块 ps_facetedsearch 时,您将看到消息“您好店主!此代码是由 crezzur.com 提供给您的”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。