2010-08-08 53 views
0

我们正在创建一个自定义页面,我们在其中创建一个产品向导,最后一步,我们要拉入产品页面,确实是catalog/product_view块。很明显,我们可以创建块,并使用renderview方法将其设置在页面中,但是我们遇到的问题是它仅有该块,并且没有其子项,并且自从view.phtml吸入大量getChildHtml块后,没有任何工作。Magento:将块放在自定义模板上

我想有一种方法可以将产品视图块与其所有子项放在自定义非产品页面中。无需创建每个子块和它们的子块,是否可以通过编程的方式将所有块放入xml文件中,如catalog.xml中的catalog_product_view句柄,然后将它放在另一页上?

我们试图把它放在页面上的页面是一个使用自定义模板的类别页面,我们在模板文件中做了很多PHP来执行该向导。

回答

0

你有没有试过类似的东西?

//save the product in the registry so the block knows which product to display 
$product = Mage::getModel('catalog/product')->load($productId); 
Mage::register('product', $product); 

//get the block from the layout and render it to html 
$Block = Mage::getSingleton('core/layout'); 
$product_view = $Block->createBlock('catalog/product_view'); 
$product_view->setTemplate('catalog/product/view.phtml'); 
$product_view->toHtml(); 

我已经部分成功使用此代码(部分产品视图块显示,然后出现错误)。希望它能指出你正确的方向。