致命错误:在/app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php中的非对象上调用成员函数getId()

时间:2014-04-08 21:58:42

标签: php magento magento-1.8

将Magento迁移到新服务器后,在尝试保存产品时,在可怕的白色屏幕上出现此错误:

致命错误:在第587行的... app / code / core / Mage / Adminhtml / controllers / Catalog / ProductController.php中的非对象上调用成员函数getId()

以下是第587行的代码

if (Mage::app()->isSingleStoreMode()) {
        $product->setWebsiteIds(array(Mage::app()->getStore(true)->getWebsite()->getId()));
    }

同一部分的方法这是第556-588行:

/**
 * Initialize product before saving
 */
protected function _initProductSave()
{
    $product     = $this->_initProduct();
    $productData = $this->getRequest()->getPost('product');
    if ($productData) {
        $this->_filterStockData($productData['stock_data']);
    }

    /**
     * Websites
     */
    if (!isset($productData['website_ids'])) {
        $productData['website_ids'] = array();
    }

    $wasLockedMedia = false;
    if ($product->isLockedAttribute('media')) {
        $product->unlockAttribute('media');
        $wasLockedMedia = true;
    }

    $product->addData($productData);

    if ($wasLockedMedia) {
        $product->lockAttribute('media');
    }

    if (Mage::app()->isSingleStoreMode()) {
        $product->setWebsiteIds(array(Mage::app()->getStore(true)->getWebsite()->getId()));
    }

1 个答案:

答案 0 :(得分:4)

我意识到这是旧的,但我在1.9.0.1商店遇到了类似的问题。当我打开缓存它工作!关闭缓存并清除它没有。不知道为什么。

希望这有帮助。