我可以将.phtml文件调用到我的.phtml模板,就像list.phtml一样.
<?PHP echo $this->getLayout()->createBlock('core/template')->setTemplate('goodtest/test.phtml')->toHtml(); ?>
但在test.phtml中,我无法调用$_product值.
例如:
<?PHP $_productCollection=$this->getLoadedProductCollection(); foreach ($_productCollection as $_product): ?>
作品
<?PHP echo $_product->getName() ?>
不起作用:
<?PHP echo $this->getLayout()->createBlock('core/template')->setTemplate('goodtest/test.phtml')->toHtml(); ?>
在文件中:test.html:<?PHP echo $_product-> getName()?>.
我是否必须在每个包含的文件中再次加载产品中的完整集合,如何才能在test.phtml中获得$_product值最有效的方法?
有两种选择:
>您可以在foreach循环中每次使用带有id的Mage :: getModel(‘catalog / product’) – > load(< product_id>)加载产品.
>使用以下
echo $this-> getLayout() – > createBlock(‘catalog / product_list’) – > setTemplate(‘goodtest / test.phtml’) – > toHtml();
代替
echo $this-> getLayout() – > createBlock(‘core / template’) – > setTemplate(‘goodtest / test.phtml’) – > toHtml();