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