2011-10-12 90 views
0

我遇到问题,我想为不同类型的产品显示不同的详细信息页面。其实我已经安装了Unirgy Gift Certification插件,我希望为此类型的产品装入不同类型的页面。Magento针对不同产品类型的不同详细信息页面

我加了下面的的catalog.xml代码,但它似乎并不奏效

<PRODUCT_TYPE_ugiftcert translate="label" module="catalog"> 
     <label>Catalog Product View (Gift Certificate)</label> 
     <reference name="content"> 
      <block type="catalog/product_view" name="product.info" template="catalog/product/view-gift.phtml" /> 
      <block type="catalog/product_view_type_ugiftcert" name="product.info.ugiftcert" as="product_type_data" template="catalog/product/view/type/default.phtml"> 
       <block type="core/text_list" name="product.info.ugiftcert.extra" as="product_type_data_extra" translate="label"> 
        <label>Product Extra Info</label> 
       </block> 
      </block> 
     </reference> 
    </PRODUCT_TYPE_ugiftcert> 

你能告诉我什么,我做错了什么? 是否有可能为不同类型的产品提供不同的详细信息页面?像可配置/简单产品或基于属性集的不同详细页面的不同。

回答

2

如果正在调用该布局,则可以像那样更新。 前段时间我在这里写了一篇很快的文章。 http://www.sharpdotinc.com/mdost/2010/12/17/magento-layout-handels-and-layout-xml-files/

您需要做的是进入产品控制器,并在视图操作中将以下代码放在loadLayout()调用之后。

$this->loadLayout(); 
print_r($this->getLayout()->getUpdate()->getHandles());die(); 
//  .... OTher COde 

这将显示所有可用的句柄。如果你没有看到你在这里处理,那么它将不会被加载。

PRODUCT_TYPE_ugiftcert 
+0

acually我用这个:'的print_r($这个 - > getLayout() - > getUpdate() - > getHandles());'把布局加载,但是,我想在这里是:我想要的加载一个完全不同的** view.phtml **的情况下,'PRODUCT_TYPE_ugiftcert',是否有可能在** catalog.xml中做一些破解,并告诉它加载完全不同的** view-gift.phtml ** – Ravish

+0

是的,如果你处理的是清单,那么你的代码应该工作,并将模板更改为目录/ product/view-gift.phtml 您也可以使用观察器,并且当产品页面加载块时,检查如果是ugiftcert类型,则更改块的模板。 –

+0

感谢您的帮助,我已经解决了我的问题。 – Ravish

相关问题