移动Magento“;“添加到购物车”;新文件的按钮不工作

移动Magento“;“添加到购物车”;新文件的按钮不工作,magento,e-commerce,magento-1.7,php,Magento,E Commerce,Magento 1.7,Php,我想将“添加到购物车”按钮从view.phtml文件移动到2列右侧.phtml文件,我无法使其工作。我所做的是将从view.phtml文件复制到2列right.phtml,但它根本没有出现。我也刷新了Magento缓存,但没有再次刷新 关于如何进行此操作,您有什么建议吗?您应该熟悉magento布局系统。要使能够在2列右侧工作。phtml此块应声明为根块的子块(根是使用2列右侧.phtml呈现的块)。实际上,我认为将add-to-cart移动到其他模板没有多大意义,因为addtocart.pht

我想将“添加到购物车”按钮从
view.phtml
文件移动到
2列右侧.phtml
文件,我无法使其工作。我所做的是将
view.phtml
文件复制到
2列right.phtml
,但它根本没有出现。我也刷新了Magento缓存,但没有再次刷新


关于如何进行此操作,您有什么建议吗?

您应该熟悉magento布局系统。要使
能够在
2列右侧工作。phtml
此块应声明为根块的子块(根是使用
2列右侧.phtml
呈现的块)。实际上,我认为将add-to-cart移动到其他模板没有多大意义,因为
addtocart.phtml
本身只是一个按钮,用于提交位于
catalog/product/view.phtml
的整个表单。如果你把它拿出来,它就不会工作。

首先,我同意nevermourn,如果你没有声明它,你就不能得到childhtml。但是你可以用

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


通过在
2列right.phtml
中使用此选项,您肯定会得到
addtocart.phtml

以便通过使用调用添加到购物车按钮

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

在layout/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>


看看@/layout/catalog.xml,您会注意到在
中。。。您使用
在xml中声明$this->getChildHtml('addtocart')是的,我知道没有表单它就不能工作,我也会移动表单,只是不知道为什么按钮没有出现在前面提到的文件中。您好,这个答案很有意义,但我是magento的新手,所以我开始了解这个框架的方案,对我来说,我需要使用{{block type=“catalog/product\u view”product\u id=“3”template=“catalog/product/view.phtml”}的声明在特定的页面上显示这个由于我们使用joomla中的一个组件在站点上显示magento产品页面,所以我们需要的只是添加到购物车表单及其可配置属性,以便将产品添加到购物车上。Kashif,欢迎加入SO并参与!请您在dev服务器上测试您的答案以确保正确吗?我会的,但目前只配置了live server。在我看来这是正确的,但我记得有一段时间,像这样的事情对我不起作用。谢谢您好,我已经在magento 1.7x上对它进行了测试,它工作正常,但是如果您的主页上有
2列,那么phtml
就会抛出错误,因为产品数据不存在。但您可以通过添加诸如“if(Mage::app()->getFrontController()->getRequest()->getRouteName()=='catalog')之类的条件来防止这种情况的发生