如何仅获取 Hybris 中某个类别的直接类别?

问题描述

我只希望将直接子级提取到父级。但相反,我使用 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 );
}