我在PrestaShop 1.7.3.3中安装了php 7.1.18 当我覆盖模块并将其放在覆盖目录中时,效果很好。
例如,我添加了PrestaShop/override/modules/ps_languageselector/ps_languageselector.php
并且正在执行覆盖。
当我尝试通过将文件放在PrestaShop/override/classes/Product.php
来覆盖Product.php时,该文件根本没有加载!添加die()
或error_log
不会改变任何内容。
我想念什么?
谢谢
答案 0 :(得分:1)
PS1.7的想法是扩展而不是覆盖。
但是如果确实需要,您仍然可以覆盖。 删除这两个文件:
var / cache / dev / class_index.php& var / cache / prod / class_index.php
答案 1 :(得分:0)
我遇到了同样的问题,在我的情况下,问题是文件许可权,在addOverride函数的module / Moddule.php中,我们有一行file_put_contents($path_override, preg_replace('#(\r\n|\r)#ism', "\n", file_get_contents($path_override)))
会将您的替代项转移到/ override目录,因为文件许可权这行没有没有执行,所以问题发生了,运行
您项目目录中的chmod -R 777 .
解决了问题