private function getRelatedProducts(Product $product, $type = 0) { // get related products $related = $product->getRelatedProductsWithGroupsArray($type); $rel = array(); foreach ($related as $r) { if (!isset($r['RelatedProduct'])) { continue; } $p = $r['RelatedProduct']; // @todo: make ActiveRecord automatically recognize the correct parent object $p['DefaultImage'] = $r['DefaultImage']; if (isset($r['ProductRelationshipGroup'])) { $p['ProductRelationshipGroup'] = $r['ProductRelationshipGroup']; } $rel[] = $p; } ProductPrice::loadPricesForRecordSetArray($rel); // sort related products into groups $byGroup = array(); foreach ($rel as $r) { $groupID = isset($r['ProductRelationshipGroup']) ? $r['ProductRelationshipGroup']['ID'] : 0; $byGroup[$groupID][] = $r; } return $byGroup; }