我正在尝试创建一个magento侧栏框,可以列出特定类别的产品。
我创建了一个文件,该文件在名为most_sold_list.phtml的某个类别中创建了一个产品列表,其中包含以下内容...
<?php
$_productCollection_1 = $this->getLoadedProductCollection();
?>
<div class="link_list_with_title">
<p class="catagory_title">Best Sellers</p>
<ul>
<?php foreach ($_productCollection_1 as $_product_1): ?>
<li>
<a href="<?php echo $_product_1->getProductUrl() ?>" title="<?php echo $_product_1->getName(); ?>"><?php echo $_product_1->getName(); ?></a>
</li>
<?php endforeach ?>
</ul>
</div>
然后我将local.xml更新为包含(<default><reference name="left">
内)...
<block type="catalog/product_list" name="most_sold.leftnav" template="most_sold_list.phtml">
<action method="setCategoryId"><category_id>18</category_id></action>
</block>
这会像我期望的那样将块添加到页面中。但是当我进入产品页面时,我收到以下错误...
Fatal error: Cannot redeclare get_quatity_weight_string_view() (previously declared in /.../app/design/frontend/superchef/default/template/catalog/product/view.phtml:37) in /.../app/design/frontend/superchef/default/template/catalog/product/view.phtml on line 54
我已经检查过,并且该功能未在其他任何地方声明,并且一旦我删除了我的新块,此错误消息就会消失。另请注意,第54行是函数的右大括号。
我已经尝试通过将其代码内联而完全删除该函数,但之后我只是获取了magento错误消息页面。
我能得出的唯一结论是view.phtml被加载了两次。我已经搜索了这个,我已经看过zend loader两次加载文件的提及。
任何人都可以帮我解决这个问题,这对我来说毫无意义。
答案 0 :(得分:1)
我现在已经解决了如何解决这个问题: http://www.bwigg.com/2010/01/magento-featured-products-in-sidebar/
所以这就是我所做的,因为任何其他人都会遇到这个奇怪的问题。
更新布局xml文件,使块类型为“catalog / navigation”。
所以它现在看起来像这样......
<block type="catalog/navigation" name="most_sold.leftnav" template="most_sold_list.phtml">
<action method="setCategoryId"><category_id>18</category_id></action>
</block>
答案 1 :(得分:0)
<remove name="category.products" />