2012-11-14 52 views
0

我正在嘗試創建一個可以列出某些類別產品的magento側欄框。magento加載目錄/ product/view.phtml兩次

我已經創建,創建的產品稱爲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

你爲什麼把一些佈局XML更新的local.xml中?這是一個配置文件不是佈局文件(好吧,它的工作原理,但它是完全錯誤的地方)。接下來你在模板中定義一個ph功能?你不知道Block層嗎?我想你應該在嘗試編碼任何東西之前瞭解一下magento。 –

+0

你能指點我到哪裏告訴我這些事情。我讀過的所有文檔都說最好把東西放在local.xml中。 – user1823777

+0

app/etc/local.xml只是更全局的項目配置。對於佈局更新,你必須把你的代碼在您的特定模塊佈局XML文件(應用程序/設計/ //