Skip to content

Commit 96bb1c2

Browse files
committed
1. 产品、文章类别可影响标题
2. 路径导航取当前页面标题
1 parent 65fc60c commit 96bb1c2

File tree

3 files changed

+32
-17
lines changed

3 files changed

+32
-17
lines changed

Easy.CMS.Web/Modules/Article/Service/ArticleListWidgetService.cs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,13 @@ public override WidgetPart Display(WidgetBase widget, ControllerContext controll
1919
{
2020
var currentWidget = widget as ArticleListWidget;
2121
var articleTypeService = ServiceLocator.Current.GetInstance<IArticleTypeService>();
22-
var categoryEntity = articleTypeService.Get(currentWidget.ArticleTypeID);
2322
int pageIndex = controllerContext.RouteData.GetPage();
2423
int category = controllerContext.RouteData.GetCategory();
2524
var filter = new DataFilter();
2625
filter.Where("IsPublish", OperatorType.Equal, true);
2726
filter.OrderBy("CreateDate", OrderType.Descending);
2827
var articleService = ServiceLocator.Current.GetInstance<IArticleService>();
29-
var page = new Pagination { PageIndex = pageIndex, PageSize = currentWidget.PageSize ?? 20 };
28+
var pagin = new Pagination { PageIndex = pageIndex, PageSize = currentWidget.PageSize ?? 20 };
3029
if (category != 0)
3130
{
3231
filter.Where("ArticleTypeID", OperatorType.Equal, category);
@@ -43,11 +42,19 @@ public override WidgetPart Display(WidgetBase widget, ControllerContext controll
4342
filter.Where("ArticleTypeID", OperatorType.Equal, currentWidget.ArticleTypeID);
4443
}
4544
}
45+
46+
var categoryEntity = articleTypeService.Get(category == 0 ? currentWidget.ArticleTypeID : category);
47+
if (categoryEntity != null)
48+
{
49+
var page = controllerContext.HttpContext.GetLayout().Page;
50+
page.Title = (page.Title ?? "") + " - " + categoryEntity.Title;
51+
}
52+
4653
return widget.ToWidgetPart(new ArticleListWidgetViewModel
4754
{
48-
Articles = currentWidget.IsPageable ? articleService.Get(filter, page) : articleService.Get(filter),
55+
Articles = currentWidget.IsPageable ? articleService.Get(filter, pagin) : articleService.Get(filter),
4956
Widget = currentWidget,
50-
Pagin = page,
57+
Pagin = pagin,
5158
CategoryTitle = categoryEntity == null ? "" : categoryEntity.Title,
5259
IsPageable = currentWidget.IsPageable
5360
});

Easy.CMS.Web/Modules/Breadcrumb/Views/Widget.Breadcrumb.cshtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
{
66
if (i == Model.Count - 1)
77
{
8-
<li class="active">@Model[i].PageName</li>
8+
<li class="active">@ViewContext.HttpContext.GetLayout().Page.Title</li>
99
}
1010
else
1111
{

Easy.CMS.Web/Modules/Product/Service/ProductListWidgetService.cs

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,11 @@ public override void Add(ProductListWidget item)
2626
}
2727
public override WidgetPart Display(WidgetBase widget, ControllerContext controllerContext)
2828
{
29-
ProductListWidget pwidget = widget as ProductListWidget;
29+
ProductListWidget currentWidget = widget as ProductListWidget;
3030
var filter = new DataFilter();
3131
filter.Where("IsPublish", OperatorType.Equal, true);
3232
filter.OrderBy("CreateDate", OrderType.Descending);
33+
var categoryService = ServiceLocator.Current.GetInstance<IProductCategoryService>();
3334

3435
int pageIndex = controllerContext.RouteData.GetPage();
3536
int category = controllerContext.RouteData.GetCategory();
@@ -40,37 +41,44 @@ public override WidgetPart Display(WidgetBase widget, ControllerContext controll
4041
}
4142
else
4243
{
43-
var categoryService = ServiceLocator.Current.GetInstance<IProductCategoryService>();
44-
var ids = categoryService.Get(new DataFilter().Where("ParentID", OperatorType.Equal, pwidget.ProductCategoryID)).Select(m => m.ID);
44+
var ids = categoryService.Get(new DataFilter().Where("ParentID", OperatorType.Equal, currentWidget.ProductCategoryID)).Select(m => m.ID);
4545
if (ids.Any())
4646
{
47-
filter.Where("ProductCategoryID", OperatorType.In, ids.Concat(new[] { pwidget.ProductCategoryID }));
47+
filter.Where("ProductCategoryID", OperatorType.In, ids.Concat(new[] { currentWidget.ProductCategoryID }));
4848
}
4949
else
5050
{
51-
filter.Where("ProductCategoryID", OperatorType.Equal, pwidget.ProductCategoryID);
51+
filter.Where("ProductCategoryID", OperatorType.Equal, currentWidget.ProductCategoryID);
5252
}
5353
}
5454

5555

5656
var service = ServiceLocator.Current.GetInstance<IProductService>();
5757
IEnumerable<ProductEntity> products = null;
58-
var page = new Pagination { PageIndex = pageIndex, PageSize = pwidget.PageSize ?? 20 };
59-
if (pwidget.IsPageable)
58+
var pagin = new Pagination { PageIndex = pageIndex, PageSize = currentWidget.PageSize ?? 20 };
59+
if (currentWidget.IsPageable)
6060
{
61-
products = service.Get(filter, page);
61+
products = service.Get(filter, pagin);
6262
}
6363
else
6464
{
6565
products = service.Get(filter);
6666
}
67+
68+
var categoryEntity = categoryService.Get(category == 0 ? currentWidget.ProductCategoryID : category);
69+
if (categoryEntity != null)
70+
{
71+
var page = controllerContext.HttpContext.GetLayout().Page;
72+
page.Title = (page.Title ?? "") + " - " + categoryEntity.Title;
73+
}
74+
6775
return widget.ToWidgetPart(new ProductListWidgetViewModel
6876
{
6977
Products = products,
70-
Page = page,
71-
IsPageable = pwidget.IsPageable,
72-
Columns = pwidget.Columns,
73-
DetailPageUrl = pwidget.DetailPageUrl
78+
Page = pagin,
79+
IsPageable = currentWidget.IsPageable,
80+
Columns = currentWidget.Columns,
81+
DetailPageUrl = currentWidget.DetailPageUrl
7482
});
7583
}
7684
}

0 commit comments

Comments
 (0)