getCategoryCollectionn 関数は、製品のすべてのカテゴリを含む Magento コレクションを返します。カテゴリ コレクション内のアイテムは Magento カテゴリ オブジェクトであり、カテゴリには、カテゴリgetProductsCollection
内のすべての製品を含むコレクションを返すメソッド ( ) があります。Magento コレクションには、コレクションから特定のアイテムを取得するために使用できるかなり豊富な API がありますgetFirstItem()
。それをすべてまとめるには:
$product = Mage::getModel('catalog/product')->load($productId);
$categoryCollection = $product->getCategoryCollection();
foreach ($categoryCollection as $category) {
$products = $category->getProductsCollection();
// Here we have the first product
$firstProduct = $products->getFirstItem();
}
現在の製品の最初のカテゴリの最初の製品だけが必要な場合は、ループを回避して代わりにこれを行うことができます。
$product = Mage::getModel('catalog/product')->load($productId);
$categoryCollection = $product->getCategoryCollection();
$category = $categoryCollection()->getFirstItem();
$products = $category->getProductsCollection();
// Here we have the first product
$firstProduct = $products->getFirstItem();
注: これらのコード サンプルのどちらも特に効率的ですが、何をしようとしているのかを正確に把握していなければ、より効率的なソリューションを提案することはできません。