2013-01-03 75 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()