在Magento的php / xml feed中获取类别名称

时间:2013-11-18 13:06:05

标签: magento magento-1.7

我们正在寻找一种在Magento的产品Feed中获取产品名称的方法。我们获取数据然后运行循环来获取产品,我们只获取类别名称和子类别名称。

有人知道如何获得它们吗?

这里是从php创建xml的代码的一部分:

enter image description here

2 个答案:

答案 0 :(得分:0)

<categories>
    <?php $categoryCollection = $product->getCategoryCollection()->addAttributeToSelect('name');?>
    <?php foreach($categoryCollection as $cat): ?>
        <cat><?php echo $cat->getName() == null ? '' : $cat->getName(); ?></cat>
    <?php endforeach; ?>
</categories>

P.S。我会使用magento的资源迭代器来遍历集合,以免在运行脚本时遇到内存问题。查看http://www.fontis.com.au/blog/magento/loading-large-collections以获取此示例。

答案 1 :(得分:0)

function getCategoryTree( $parent = 0, $recursionLevel = 1 )
{
    if($parent == 0){
        $parent = Mage::app()->getStore()->getRootCategoryId();
    }else{
    $parent = Mage::getModel('catalog/category')->load($parent)->getId();
    }
     $tree = Mage::getResourceModel('catalog/category_tree');
    /* @var $tree Mage_Catalog_Model_Resource_Category_Tree */
    $nodes = $tree->loadNode($parent)
        ->loadChildren($recursionLevel)
        ->getChildren();
    $tree->addCollectionData(null, false, $parent);
    $json = array('success' => true);
    $result = array();
    foreach ($nodes as $node) {
        $result[] = array(
            'category_id'   => $node->getData('entity_id'),
            'parent_id'     => $parent,
            'name'          => $node->getName(),
            'categories'    => getNodeChildrenData($node));
    }
    $json['categories'] = $result;
    return $json;
}

https://github.com/app-z/magento-android-web-api