今天在做目录的时候 发现找一级目录是个问题 因为我们不知道当前目录有多少层 那么要找一级目录 则必然要循环 这里 我提供一个递归算法 同时附上PHPdoc

/**
 * find the 1st level category by using the recursion
 * @param Mage_Catalog_Model_Category $tmpCategory
 * @return Mage_Catalog_Model_Category
 */
function findFirstLevelCategory($tmpCategory){
    if(!strcmp($tmpCategory->getParentCategory()->getName(), 'Root Catalog'))
            return $tmpCategory;
    else
        return findFirstLevelCategory ($tmpCategory->getParentCategory());
}

需要注意的是返回值类型 在获取子目录的时候就不要使用getCurrentChildCategories()方法了 要用getChildrenCategories()方法才行

PS:时间复杂度貌似是O(n^2)