我想将“添加到购物车”按钮从view.phtml
一个文件移到2columns-right.phtml
另一个文件,但我无法让它工作。我所做的是我<?php echo $this->getChildHtml('addtocart') ?>
从view.phtml
文件复制到2columns-right.phtml
它根本没有出现。我也做了 Flush Magento 缓存,但又没有。
关于如何使这项工作的任何建议?
我想将“添加到购物车”按钮从view.phtml
一个文件移到2columns-right.phtml
另一个文件,但我无法让它工作。我所做的是我<?php echo $this->getChildHtml('addtocart') ?>
从view.phtml
文件复制到2columns-right.phtml
它根本没有出现。我也做了 Flush Magento 缓存,但又没有。
关于如何使这项工作的任何建议?
首先,我同意 nevermourn 如果你没有声明它就不能得到 childhtml。但是你可以使用
<?php echo $this->getLayout()->createBlock('catalog/product_view')->setTemplate('catalog/product/view/addtocart.phtml')->toHtml(); ?>
通过使用它,2columns-right.phtml
你会得到addtocart.phtml
肯定的。
您应该熟悉 magento 布局系统。为了使该块中的<?php echo $this->getChildHtml('addtocart') ?>
工作成为可能,2columns-right.phtml
应将其声明为根块的子块(根是用 渲染的块2columns-right.phtml
)。实际上,我认为将添加到购物车移动到其他模板没有多大意义,因为addtocart.phtml
它本身只是一个提交整个表单的按钮,位于catalog/product/view.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>