4

我知道可以使用 Magento 类别, $categories = Mage::getResourceModel('catalog/category_collection') 但是如何获得这些类别及其各自项目 SKU 的列表?

4

2 回答 2

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 回答
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 回答