扩展Mage_Core_Model_Cache,不能在构造函数中使用getModel?

时间:2017-05-25 12:42:02

标签: magento magento-1.9

这里或多或少是我正在处理的代码:

class My_Model extends Mage_Core_Model_Cache
{
    const CACHE_TAG = 'MYCACHE';
    const TYPE_INDEX = 'my_index';
    const COMPRESSION_PREFIX = 'CMP';
    const STATS_MODE = false;

    public function __construct(array $options = array())
    {
       $configOptions = Mage::app()->getConfig()->getNode('global/mycache/options');

       $config = Mage::getModel('mymodel/cache')->getConfig(); // return false

        if ($configOptions) {
            $configOptions = $configOptions->asArray();
        } else {
            $configOptions = array();
        }
        $options = array_merge($configOptions, $options);
        parent::__construct($options);
    }

    public function saveCache($data, $tags, $lifetime)
    {
        $config = Mage::getModel('mymodel/cache')->getConfig(); // return object
        ...
    }
}

所以我无法在构造函数中获取我的模型,它返回false。 但我能够进入saveCache方法。

为什么我不能在构造函数中获取我的模型?我在我的模型中尝试过make static方法,并尝试在构造函数中直接调用它返回false,但如果我在saveCache方法中调用它,则会成功。

0 个答案:

没有答案