【问题标题】:Magento can't save new products anymoreMagento 不能再保存新产品了
【发布时间】:2013-04-20 01:13:45
【问题描述】:

直到今天早上一切都很好。我试过清除缓存,重新索引,我可以在互联网上找到所有提示。 这是我收到的消息 致命错误:在第 578 行的 /home5/rockbott/public_html/app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php 中的非对象上调用成员函数 getId()

这是第 577 和 578 行:

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

一个新创建的产品给了我致命错误消息。重复的产品给了我同样的东西,但是当我去管理产品时,它会出现,但没有 SKU# 和 0 库存计数。当我再次尝试编辑该产品时 - 我收到致命错误。 请帮我解决我的问题。

提前致谢。


感谢您的回复。 有人建议我清除日志文件,我做到了。对不起,我没有日志文件。编译器也被禁用。请您看一下这里:http://www.magentocommerce.com/boards/viewthread/347764/ 我已经在那里发布了更多信息,包括报告。 谢谢 安娜

【问题讨论】:

  • 您是否正在使用导入模块加载新产品?
  • 您是否尝试过更新您的商店?

标签: magento magento-1.7


【解决方案1】:

我意识到这是旧的,但是在安装 Magento 1.9.0.1 时我遇到了同样的问题。我不确定发生了什么,但启用缓存允许它为我工作。很奇怪。

【讨论】:

  • 遇到了同样的问题,我不确定它什么时候出现。启用缓存确实可以保存产品,但返回并禁用缓存会导致它返回。
【解决方案2】:

在我的情况下,导致它的原因似乎是 Mage.php 中的一条残余日志记录行,我用来跟踪事件。

在第 447 行我有:

Mage::log($name, null, 'events.log');

删除此日志记录行解决了问题。

【讨论】:

  • 这个解决了我的问题。不知道为什么。
【解决方案3】:

根据您的信息很难找到问题所在。 您可以粘贴您的 system.log 文件吗?

一个问题:您是否启用了编译器?尝试禁用它。

【讨论】:

  • 感谢您的回复。有人建议我清除日志文件,我做到了。对不起,我没有日志文件。编译器也被禁用。请您看一下这里:magentocommerce.com/boards/viewthread/347764 我已经在那里发布了更多信息,包括报告。谢谢安娜
【解决方案4】:

我有同样的错误。解决方案非常简单:您需要将 getStore(true) 替换为 getStore(1)。 这很奇怪,因为在 PHP 中 true1 相同 ...但在此它是一个错误。如果你做一个“更正确”并写:

$product->setWebsiteIds(array(Mage::app()->getStore(Mage::app()->getStore()->getId())->getWebsite()->getId()));

Magento 给你的不是真正的网站。懒得找了,还有程序员 Magento(getStore(true)) :)) 所以决定离开它

【讨论】:

  • 这可能会提供缓解,但它没有说明为什么会发生这种情况。我有一个本地安装的商店,该问题开始出现,但运行相同代码库的暂存站点没有相同的症状。
猜你喜欢
  • 1970-01-01
  • 2014-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多