将此行放入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核心,不兼容的模块。
你能帮我解决这个问题吗?
答案 0 :(得分:3)
我遇到了与“Market Ready Germany 2.1.3”扩展相同的问题。 它来自不兼容的核心覆盖,打破了产品视图页面。这是如何从1.5。+
为Magento修复它<强> 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 / *的内容并打开产品视图页面,它不会再记录任何错误。
亲切的问候
克里斯
答案 1 :(得分:0)
有一个快速解决方案:编辑文件 \本地\法师\目录\块\产品\ Abstract.php
并更改
protected function _addProductAttributesAndPrices(Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection $ collection)
到
protected function _addProductAttributesAndPrices(Mage_Catalog_Model_Resource_Product_Link_Product_Collection $ collection)
但这不是最佳解决方案。