В:
/magento/app/design/frontend/base/default/template/catalog/product/view/type/grouped.phtml
Вы увидите, что они используют это:
<?php
$_associatedProducts = $this->getAssociatedProducts();
Поскольку этот файл phtml имеет тип Mage_Catalog_Block_Product_View_Type_Grouped
, мы можем перейти к:
/magento/app/code/core/Mage/Catalog/Block/Product/View/Type/Grouped.php
и увидите, что Mage_Catalog_Block_Product_View_Type_Grouped::getAssociatedProducts()
делает это:
<?php
$this->getProduct()->getTypeInstance()->getAssociatedProducts($this->getProduct());
Таким образом, мы можем с уверенностью предположить, что $this->getProduct()
возвращает объект продукта, и заменить его переменной $product
следующим образом:
<?php
if ($product->getTypeId() == 'grouped'){
// how do I now get associated products of $product?
$associatedProducts = $product->getTypeInstance()->getAssociatedProducts($product);
}
Если бы я полностью оптимизировал ваш код, я бы написал так:
<?php
$products = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToFilter('type_id', array('eq' => 'grouped'));
foreach ($products as $product) {
$associatedProducts = $product->getTypeInstance()->getAssociatedProducts($product);
// Do something with $associatedProducts
}