2

我想在不创建任何新类别并映射到它的情况下显示所有产品。

谁能帮我?

提前致谢。

4

4 回答 4

3

这是真的; 为了使产品在 nopCommerce 中显示,必须将其分配给一个类别。您最好的选择是创建一个顶级的总括类别,例如“所有产品”,并将您的所有产品添加到该总括类别中。

于 2012-09-30T19:02:20.093 回答
1

据我所知,它们必须是与产品相关的类别。

于 2012-09-27T14:02:54.547 回答
0

您可以通过修改代码来做到这一点。我以前做过。其实很简单。

修改 Catalog 控制器的 Category 操作以接收可为空的 CategoryId:

public ActionResult Category(int? categoryId, CatalogPagingFilteringModel command){

由于这个可为空的参数,修改操作以不中断。

要修改的最重要部分是在哪里构建要过滤的类别 ID 列表:

var categoryIds = new List<int>();
if (category != null)
   {
       categoryIds.Add(category.Id);
   }
if (_catalogSettings.ShowProductsFromSubcategories)
   {
       //include subcategories
       categoryIds.AddRange(GetChildCategoryIds(category.Id));
   }

_productService.SearchProducts 方法将收到一个空的类别 ID 列表,并且不会过滤任何产品。

于 2012-10-03T10:58:02.050 回答
0

你可以创建一个插件,映射一个路由到它(例如映射到'allproducts'路由),并在插件中创建你自己的控制器、动作和视图。然后在主菜单中插入一个指向路线的链接

@Html.RouteLink(routeName, null) //or similar overloads

插件创建部分太大,无法在此描述。http://www.nopcommerce.com/documentation.aspx是一个好的开始。

PS:/ 关于路由,每个插件都可以通过实现“IRouteProvider”接口来实现一个路由注册器。

:)

于 2012-10-03T09:03:10.560 回答