我正在尝试创建一个可以列出特定类别产品的 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 加载文件两次。
任何人都可以帮我解决这个问题,这对我来说毫无意义。