2013-01-03 72 views

回答

1

您需要添加一个布局句柄,您可以为这些产品中的每一个“抓取”并通过布局xml文件修改布局。

该过程的关键在于Mage_Catalog_Helper_Product_ViewinitProductLayout方法。此方法是基于产品模型添加自定义布局句柄的地方。您可以从控制器获取布局更新对象,并使用字符串调用addHandle()来添加该句柄。所以,你要改写这个方法做这样的事情:现在

$update = $controller->getLayout()->getUpdate(); 
foreach ($product->getCategoryIds() as $categoryId) { 
    $update->addHandle('PRODUCT_IN_CATEGORY_' . $categoryId); 
} 

,在布局xml文件,你可以针对<PRODUCT_IN_CATEGORY_##>处理您的分类的ID(IES),你把任何布局更新无论访问方式如何,此处都将应用于产品查看页面。

根据安装的具体情况,使用其他类别标识符(如名称或URL密钥)而不是数字ID键入句柄可能更有意义。为此,请使用$product->getCategoryCollection()并遍历集合以获取所需内容。如果您只想直接包含产品所属的类别标识(而不是包括较高的出身类别),则可能还需要使用$product->getAvailableinCategories()