问题描述
我只希望将直接子级提取到父级。但相反,我使用 getAllSubcategories
类的 DefaultCategoryService
方法将所有孩子都归入该类别。
示例:假设我有类别“男士”,其中包含子类别裤子和上衣。上衣有子类 T 恤和毛衣。然后在男士类别中,我希望只看到裤子和上衣。但我在最新的 hybris 中看到的是点击男士时的所有类别(裤子、上衣、T 恤、毛衣等)。
解决方法
如果您只想要直接子级,则可以在类别对象模型上使用 getCategories()
。这只会为您提供该特定类别的直接子项
您现在呼叫 getAllSubcategoriesForCategory(category)
的地方,您可以直接拨打 category.getCategories()
嗨,没有OOB方法可以只为您提供直接的子类别,但是我们可以使用@Yoni描述的上述解决方案
因此您可以创建一个像这样的简单方法并在需要时使用它。
@Override
public List<CategoryData> getSubCategories(final String categoryCode)
{
final CategoryModel category = defaultCategoryService.getCategoryForCode(categoryCode);
if (category == null)
{
return Collections.emptyList();
}
final Collection<CategoryModel> subCategories = category.getCategories();
return categoryConverter.convertAll(subCategories );
}