示例#1
0
 @With(SaveContext.class)
 public static Result select(String categoryPath, int page) {
   String[] categorySlugs = categoryPath.split("/");
   String categorySlug = categorySlugs[categorySlugs.length - 1];
   Category category = sphere().categories.getBySlug(categorySlug);
   if (category == null) {
     return notFound("Category not found: " + categorySlug);
   }
   FilterExpression categoryFilter = new FilterExpressions.CategoriesOrSubcategories(category);
   SearchRequest<Product> searchRequest = sphere().products.filter(categoryFilter);
   searchRequest = filterBy(searchRequest);
   searchRequest = sortBy(searchRequest);
   searchRequest = paging(searchRequest, page);
   SearchResult<Product> searchResult = searchRequest.fetch();
   if (searchResult.getCount() < 1) {
     flash("info", "No products found");
   }
   return ok(views.html.categories.render(searchResult, category));
 }