【问题标题】:Fatal error: Call to a member function getId() on a non-object in /app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php致命错误:在 /app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php 中的非对象上调用成员函数 getId()
【发布时间】:2014-05-21 20:33:40
【问题描述】:

将 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()));
    }

【问题讨论】:

  • 错误消息中是否包含堆栈跟踪?
  • @SteveRobbins 不,这就是我得到的全部。

标签: php magento magento-1.8


【解决方案1】:

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

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-16
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-07
    相关资源
    最近更新 更多