无法使用Prestashop替代将变量添加到Class Combination(与Product类一起使用)

时间:2019-10-30 15:56:18

标签: php variables overriding prestashop-1.7

以下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中确实如此),但是什么也没发生。

1 个答案:

答案 0 :(得分:0)

我认为我已按照in the documentation的建议删除了/cache/class_index.php,但是仍然有/var/cache/dev/class_index.php阻止了我的修改生效。

删除它可以解决问题。

请注意,/var/cache/prod/下有一个类似的文件,如果在生产环境中发生类似的情况,则可能需要将其删除。