magento加载目录/产品/ view.phtml两次

时间:2012-11-14 13:48:21

标签: php zend-framework magento

我正在尝试创建一个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两次加载文件的提及。

任何人都可以帮我解决这个问题,这对我来说毫无意义。

2 个答案:

答案 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" />