以下override/classes/Product.php
为Product类创建一个新变量$foobar
:
<?php
if (!defined('_PS_VERSION_')) {
exit;
}
class Product extends ProductCore
{
public $foobar;
}
创建new Product()
时,我可以看到这个新变量。
现在我想对Combination类进行相同的操作,因此我创建了一个类似的override/classes/Combination.php
:
<?php
if (!defined('_PS_VERSION_')) {
exit;
}
class Combination extends CombinationCore
{
public $foobar;
}
但是,当我创建new Combination()
时,此新字段不存在。
我想念什么?
FWIW,我使用的是PS 1.7.6.1。
实际上似乎从未调用过override/classes/Combination.php
:我添加了一条错误的行,该行应触发异常(并且在override/classes/Product.php
中确实如此),但是什么也没发生。
答案 0 :(得分:0)
我认为我已按照in the documentation的建议删除了/cache/class_index.php
,但是仍然有/var/cache/dev/class_index.php
阻止了我的修改生效。
删除它可以解决问题。
请注意,/var/cache/prod/
下有一个类似的文件,如果在生产环境中发生类似的情况,则可能需要将其删除。