2013-04-30 49 views
3

我想移動添加到購物車按鈕從view.phtml文件到2columns-right.phtml文件,我無法使它的工作。我所做的是我將<?php echo $this->getChildHtml('addtocart') ?>view.phtml文件複製到2columns-right.phtml,它根本沒有出現。我也做了Flush Magento緩存,但沒有再次。移動Magento「添加到購物車」按鈕到新文件不工作

關於如何使這項工作的任何建議?

+0

使用

<?php echo $this->getChildHtml('addtocart') ?> 

看看@ /layout/catalog.xml你會請注意,在''...你在xml中用' getChildHtml('addtocart') 「template =」catalog/product/view/addtocart.phtml「/>' – 2013-04-30 15:01:20

回答

1

您應該熟悉magento佈局系統。爲使<?php echo $this->getChildHtml('addtocart') ?>工作在2columns-right.phtml中,應將此塊聲明爲根塊的子塊(根是使用2columns-right.phtml呈現的塊)。實際上,在將其他模板添加到購物車中時我看不出多少意義,因爲addtocart.phtml本身只是一個提交整個表單的按鈕,位於catalog/product/view.phtml。如果你把它從那裏拿出來,它將無法工作。

+0

是的我知道它不會工作沒有窗體,我也會移動窗體,只是不知道w hy按鈕不出現在前面提到的文件中。 – 2013-04-30 21:51:10

+0

嗨,這個答案實際上是有道理的,但我是一個magento新手,所以我開始瞭解這個框架的計劃,對於我來說,我需要使用{{block type =「catalog/product_view「product_id =」3「template =」catalog/product/view.phtml「}}以某種方式讓內容顯示在cms頁面上,因爲我們使用joomla中的組件來讓它顯示magento產品頁面網站和我們需要的全部內容是添加到購物車表單以及它的可配置屬性,以將產品添加到購物車中。 – 2013-06-13 02:31:56

1

首先,我同意nevermourn你不能得到childhtml,如果你沒有宣佈它。但是你可以使用

<?php echo $this->getLayout()->createBlock('catalog/product_view')->setTemplate('catalog/product/view/addtocart.phtml')->toHtml(); ?> 

通過2columns-right.phtml使用此你會得到addtocart.phtml肯定。

+0

嗨Kashif,歡迎來到SO和貢獻!你能否在開發服務器上測試你的答案以確保?我會,但目前只配置了活動服務器。它看起來對我來說是正確的,但我記得有一次這樣的事情對我沒有用。謝謝! – 2013-06-19 20:41:44

+1

嗨,我已經測試了它在magento 1.7x上,它工作正常,但如果你有'2columns-right.phtml'的主頁比它會拋出一個錯誤,因爲產品數據不存在。但是你可以通過添加像if(Mage :: app() - > getFrontController() - > getRequest() - > getRouteName()=='catalog')' – Raza 2013-06-20 04:54:15

0

爲了調用添加到購物車按鈕由您在佈局的願望頁/ local.xml中

<yourModule_YourController_yourAction> 
    <reference name="content"> 
     <block type="catalog/product_view" name="product.info.addtocart" as="addtocart" template="catalog/product/view/addtocart.phtml"/> 
    </reference> 
</yourModule_YourController_yourAction> 
相關問題