magento产品系列

时间:2012-05-19 07:11:33

标签: magento

在扩展中,我在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

2 个答案:

答案 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); ?>