4

Magentoのカテゴリはで達成できることは知って $categories = Mage::getResourceModel('catalog/category_collection') いますが、これらのカテゴリとそれぞれのアイテムのSKUのリストを取得するにはどうすればよいですか?

4

2 に答える 2

2

カテゴリIDとskusの配列を含む配列が必要な場合は...

$skuArray = array();
$categoryCollection = Mage::getModel('catalog/category')->getCollection();
foreach ($categoryCollection as $category) {
    $skuArray[$category->getId()] = $category->getProductCollection()->getColumnValues('sku');
}

または、各コレクションオブジェクトに新しいフィールドを追加して、skusを含めます。

$categoryCollection = Mage::getModel('catalog/category')->getCollection();
foreach ($categoryCollection as $category) {
    $skus = $category->getProductCollection()->getColumnValues('sku');
    $category->setData('skus', $skus);
}

これは、コードの後半でコレクションに対してさらに作業を行う必要があり、それでも製品のSKU配列にアクセスする必要がある場合のオプションです。

foreach($categoryCollection as $category) {
    $categorySkus = $category->getData('skus');
}
于 2012-08-02T08:02:52.163 に答える
2

あなたが使用することができます:

$categories = Mage::getResourceModel('catalog/category_collection');
foreach ($categories as $category) {
    $products = $category->getProductCollection();
    foreach ($products as $product) {
        $sku[$product->getId()] = $product->getSku();
    }
}

すべてのSKUを$sku配列として格納します。あなたのものは違うかもしれません。

于 2012-08-02T02:37:39.987 に答える