我正在使用设计更新XML应用于特定类别下的所有产品。当从这些类别浏览到这些产品时,这些更新会成功应用到这些产品上,而不是从搜索结果中打开这些产品时。如何从搜索结果打开设计更新时影响这些产品?Magento:类别产品设计更新不适用于搜索结果产品
2
A
回答
1
您需要添加一个布局句柄,您可以为这些产品中的每一个“抓取”并通过布局xml文件修改布局。
该过程的关键在于Mage_Catalog_Helper_Product_View
的initProductLayout
方法。此方法是基于产品模型添加自定义布局句柄的地方。您可以从控制器获取布局更新对象,并使用字符串调用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()
。
相关问题
- 1. Magento 1.7 CSV更新产品类别
- 2. Magento产品不会在搜索中显示。搜索结果
- 3. 将搜索结果产品网址更改为包含类别
- 4. Magento的搜索产品
- 5. Magento - 仅搜索父产品
- 6. Joomla搜索Magento产品
- 7. Magento的产品类别试图增加新产品
- 8. Magento主题例外不适用于类别和产品页面
- 9. Magento的产品按类别
- 10. Magento获得产品类别
- 11. Magento定制产品设计
- 12. 如果产品属于特定类别,请在magento中回显产品描述
- 13. 产品类别不显示当搜索该条款(Magento)
- 14. Magento从SOAP更新产品
- 15. Magento更新产品价格
- 16. 加入产品对比magento使用产品属性(类别)
- 17. 所选产品的Magento更新索引
- 18. Magento产品排序产品分类
- 19. 产品保存后未重新索引的类别/产品
- 20. 搜索特定类别的产品
- 21. Woocommerce - 在产品类别中搜索
- 22. Magento类别页面不显示产品
- 23. 更改每页显示的产品数(对于搜索结果)
- 24. woocommerce仅搜索基于主体类别的父类别产品
- 25. 在产品类别页面上获得相关产品Magento
- 26. Magento:从产品iD获取产品类别阵列
- 27. Magento:将产品从特定类别加载到产品页面
- 28. Magento:缺货中显示产品类别页最后的产品
- 29. Magento - 从产品登录页面显示所有产品类别
- 30. 搜索同名“测试产品”和“测试产品”的产品