3

我想将“添加到购物车”按钮从view.phtml一个文件移到2columns-right.phtml另一个文件,但我无法让它工作。我所做的是我<?php echo $this->getChildHtml('addtocart') ?>view.phtml文件复制到2columns-right.phtml它根本没有出现。我也做了 Flush Magento 缓存,但又没有。

关于如何使这项工作的任何建议?

4

3 回答 3

1

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

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

通过使用它,2columns-right.phtml你会得到addtocart.phtml肯定的。

于 2013-06-19T11:23:51.537 回答
1

您应该熟悉 magento 布局系统。为了使该块中的<?php echo $this->getChildHtml('addtocart') ?>工作成为可能,2columns-right.phtml应将其声明为根块的子块(根是用 渲染的块2columns-right.phtml)。实际上,我认为将添加到购物车移动到其他模板没有多大意义,因为addtocart.phtml它本身只是一个提交整个表单的按钮,位于catalog/product/view.phtml. 如果你把它从那里拿出来,它就不起作用了。

于 2013-04-30T15:02:23.810 回答
0

为了通过使用调用添加到购物车按钮

<?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>
于 2013-06-21T07:47:00.987 回答