Я думаю, вам лучше начать с набора продуктов из категории, а затем получить атрибуты, соответствующие этим продуктам.Что-то вроде:
$currentCategory = Mage::registry('current_category');
$products = $currentCategory->getProductCollection();
foreach($products as $product):
$product = Mage::getModel('catalog/product')->load($product->getId());
$manufacturers[] = $product->getBrandName();
endforeach;
Вам потребуется дедупликация массива, но array_unique()
должен помочь вам в этом.
HTH, JD
EDIT
Это избавит от необходимости загружать каждый продукт, должно повысить производительность:
$currentCategory = Mage::registry('current_category');
$products = $currentCategory->getProductCollection();
$products->addAttributeToSelect('brand_name');
$products->load(); //execute the query
$manufacturers = $products->toArray(array('brand_name'));
Имейте в виду, что при кэшировании снижение производительности обходится вам только один раз.
JD