Skip to content

Commit

Permalink
#5507 Catalog pages without products should not display "No products …
Browse files Browse the repository at this point in the history
…were found that matched your criteria"
  • Loading branch information
DmitriyKulagin committed Mar 9, 2021
1 parent 6ab4d28 commit 0b53826
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions src/Presentation/Nop.Web/Factories/CatalogModelFactory.cs
Expand Up @@ -354,13 +354,14 @@ Task<decimal> toWorkingCurrencyAsync(decimal? price)
/// </summary>
/// <param name="model">Catalog products model</param>
/// <param name="products">The products</param>
/// <param name="isFiltering">A value indicating that filtering has been applied</param>
/// <returns>A task that represents the asynchronous operation</returns>
protected virtual async Task PrepareCatalogProductsAsync(CatalogProductsModel model, IPagedList<Product> products)
protected virtual async Task PrepareCatalogProductsAsync(CatalogProductsModel model, IPagedList<Product> products, bool isFiltering = false)
{
if (!string.IsNullOrEmpty(model.WarningMessage))
return;

if (products.Count == 0)
if (products.Count == 0 && isFiltering)
model.NoResultMessage = await _localizationService.GetResourceAsync("Catalog.Products.NoResult");
else
{
Expand Down Expand Up @@ -778,7 +779,8 @@ public virtual async Task<CatalogProductsModel> PrepareCategoryProductsModelAsyn
filteredSpecOptions: filteredSpecs,
orderBy: (ProductSortingEnum)command.OrderBy);

await PrepareCatalogProductsAsync(model, products);
var isFiltering = filterableOptions.Any() || selectedPriceRange is not null;
await PrepareCatalogProductsAsync(model, products, isFiltering);

return model;
}
Expand Down Expand Up @@ -1036,7 +1038,8 @@ public virtual async Task<CatalogProductsModel> PrepareManufacturerProductsModel
filteredSpecOptions: filteredSpecs,
orderBy: (ProductSortingEnum)command.OrderBy);

await PrepareCatalogProductsAsync(model, products);
var isFiltering = filterableOptions.Any() || selectedPriceRange is not null;
await PrepareCatalogProductsAsync(model, products, isFiltering);

return model;
}
Expand Down Expand Up @@ -1277,7 +1280,8 @@ public virtual async Task<CatalogProductsModel> PrepareVendorProductsModelAsync(
visibleIndividuallyOnly: true,
orderBy: (ProductSortingEnum)command.OrderBy);

await PrepareCatalogProductsAsync(model, products);
var isFiltering = selectedPriceRange is not null;
await PrepareCatalogProductsAsync(model, products, isFiltering);

return model;
}
Expand Down Expand Up @@ -1521,7 +1525,8 @@ public virtual async Task<CatalogProductsModel> PrepareTagProductsModelAsync(Pro
visibleIndividuallyOnly: true,
orderBy: (ProductSortingEnum)command.OrderBy);

await PrepareCatalogProductsAsync(model, products);
var isFiltering = selectedPriceRange is not null;
await PrepareCatalogProductsAsync(model, products, isFiltering);

return model;
}
Expand Down Expand Up @@ -1807,7 +1812,8 @@ public virtual async Task<CatalogProductsModel> PrepareSearchProductsModelAsync(
}
}

await PrepareCatalogProductsAsync(model, products);
var isFiltering = !string.IsNullOrEmpty(searchTerms);
await PrepareCatalogProductsAsync(model, products, isFiltering);

return model;
}
Expand Down

0 comments on commit 0b53826

Please sign in to comment.