将此行放入 view.phtml ...
<?php echo $this->getChildHtml('upsell_products') ?>
...引发此错误:
Recoverable Error: Argument 1 passed to Mage_Catalog_Block_Product_Abstract::_addProductAttributesAndPrices() must be an instance of Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection, instance of Mage_Catalog_Model_Resource_Product_Link_Product_Collection given, called in D:\active\***\src\app\code\core\Mage\Catalog\Block\Product\List\Upsell.php on line 65 and defined in D:\active\***\src\app\code\local\Mage\Catalog\Block\Product\Abstract.php on line 355
#0 D:\active\***\src\app\code\local\Mage\Catalog\Block\Product\Abstract.php(355): mageCoreErrorHandler(4096, 'Argument 1 pass...', 'D:\active\***...', 355, Array)
#1 D:\active\***\src\app\code\core\Mage\Catalog\Block\Product\List\Upsell.php(65): Mage_Catalog_Block_Product_Abstract->_addProductAttributesAndPrices(Object(Mage_Catalog_Model_Resource_Product_Link_Product_Collection))
#2 D:\active\***\src\app\code\core\Mage\Catalog\Block\Product\List\Upsell.php(94): Mage_Catalog_Block_Product_List_Upsell->_prepareData()
#3 D:\active\***\src\app\code\core\Mage\Core\Block\Abstract.php(862): Mage_Catalog_Block_Product_List_Upsell->_beforeToHtml()
#4 D:\active\***\src\app\code\core\Mage\Core\Block\Abstract.php(582): Mage_Core_Block_Abstract->toHtml()
#5 D:\active\***\src\app\code\core\Mage\Core\Block\Abstract.php(526): Mage_Core_Block_Abstract->_getChildHtml('upsell_products', true)
#6 D:\active\***\src\app\design\frontend\default\***\template\catalog\product\view.phtml(163): Mage_Core_Block_Abstract->getChildHtml('upsell_products')
我只找到一个forum topic它说有 magento 1.6 核心,但模块不兼容。
你能帮我解决这个问题吗?
最佳答案
我遇到了与扩展“Market Ready German 2.1.3”相同的问题。它来自不兼容的核心覆盖,破坏了产品 View 页面。
如何修复 Magento 1.5.+ 的问题
<强>1。复制当前核心文件
来自
\app\code\core\Mage\Catalog\Block\Product\Abstract.php
至
\app\code\local\Mage\Catalog\Block\Product\Abstract.php
备份本地现有文件(重命名)。
<强>2。比较两个文件
打开旧的本地文件并搜索此方法:
public function getPriceHtml
应该有两个部分,周围有评论:
//begin: symmetrics code
...
//end: symmetrics code
- 将第一个对称部分复制到方法开头,并将第二个部分复制到返回值。
- 删除 var/cache/* 的内容并打开产品查看页面,就不会再记录任何错误。
这应该可以解决问题。
关于php - Magento upsell_products 引发错误 "must be an instance of Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8078913/