我正在嘗試創建一個可以列出某些類別產品的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加載文件的提及。
有人可以幫我解決這個問題,對我來說沒有意義。
你爲什麼把一些佈局XML更新的local.xml中?這是一個配置文件不是佈局文件(好吧,它的工作原理,但它是完全錯誤的地方)。接下來你在模板中定義一個ph功能?你不知道Block層嗎?我想你應該在嘗試編碼任何東西之前瞭解一下magento。 –
你能指點我到哪裏告訴我這些事情。我讀過的所有文檔都說最好把東西放在local.xml中。 – user1823777
app/etc/local.xml只是更全局的項目配置。對於佈局更新,你必須把你的代碼在您的特定模塊佈局XML文件(應用程序/設計/ // /佈局/ .XML)。去這裏學習:http://www.magentocommerce.com/knowledge-base/categories/category/development和google –