在扩展中,我在catalog_product_view页面上收集产品,如下所示:
if (!$product = Mage::registry('product')) {
return new Varien_Data_Collection();
}
$category = new Mage_Catalog_Model_Category();
$category->load($product->getCategoryId());
$collection = $category->getProductCollection();
如何在此集合中添加其他属性?
例如我不能得到像这样的东西
$collection->addAttributeToSelect('manufacturer');
我希望通过代码添加一些属性(不是id,因为这可能是布局中添加的不同属性),然后通过此属性对数据进行分组
日Thnx
答案 0 :(得分:1)
您可以实例化产品系列并对其进行过滤,而不是直接获取特定类别的产品:
if (!$product = Mage::registry('product')) {
return new Varien_Data_Collection();
}
// get a product collection and filter it by category
$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addCategoryFilter($product->getCategoryId());
// add the attributes you need
$collection->addAttributeToSelect('manufacturer');
$collection->setOrder('manufacturer', 'asc');
// load the collection and return it
$collection->load();
return $collection;
注意:加载后无法为集合添加属性!
此外,您无需明确调用load()
- 将按需加载该集合。
希望这有帮助。
答案 1 :(得分:0)
试试这个
<?php echo $_product->getResource()->getAttribute('manufacturer')->getFrontend()->getValue($_product); ?>