public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { ArticleTypeWidget currentWidget = widget as ArticleTypeWidget; var types = _articleTypeService.Get(m => m.ParentID == currentWidget.ArticleTypeID); int ac = actionContext.RouteData.GetCategory(); ArticleType articleType = null; if (ac > 0) { articleType = _articleTypeService.Get(ac); } if (actionContext.RouteData.GetCategoryUrl().IsNullOrEmpty() && articleType != null) { if (articleType.Url.IsNotNullAndWhiteSpace()) { actionContext.RedirectTo($"{actionContext.RouteData.GetPath()}/{articleType.Url}", true); } } if (articleType != null) { var layout = actionContext.HttpContext.GetLayout(); if (layout != null && layout.Page != null) { layout.Page.Title = articleType.SEOTitle ?? articleType.Title; layout.Page.MetaKeyWorlds = articleType.SEOKeyWord; layout.Page.MetaDescription = articleType.SEODescription; } } return(widget.ToWidgetViewModelPart(new ArticleTypeWidgetViewModel { ArticleTypes = types, ArticleTypeID = ac })); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { var currentWidget = widget as NavigationWidget; var navs = _navigationService.GetAll() .Where(m => m.Status == (int)RecordStatus.Active).OrderBy(m => m.DisplayOrder).ToList(); string path = "~" + actionContext.RouteData.GetPath(); NavigationEntity current = null; int length = 0; foreach (var navigationEntity in navs) { if (navigationEntity.Url.IsNotNullAndWhiteSpace() && path.StartsWith(navigationEntity.Url.ToLower()) && length < navigationEntity.Url.Length) { current = navigationEntity; length = navigationEntity.Url.Length; } } if (current != null) { current.IsCurrent = true; } if (currentWidget.RootID.IsNullOrEmpty() || currentWidget.RootID == "root") { currentWidget.RootID = "#"; } return(widget.ToWidgetViewModelPart(new NavigationWidgetViewModel(navs, currentWidget))); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { var currentWidget = widget as NavigationWidget; var navs = _navigationService.Get() .Where(m => m.Status == (int)RecordStatus.Active).OrderBy(m => m.DisplayOrder).ToList(); if (actionContext is ActionExecutedContext) { string path = actionContext.HttpContext.Request.Path.Value.ToLower(); NavigationEntity current = null; int length = 0; IUrlHelper urlHelper = ((actionContext as ActionExecutedContext).Controller as Controller).Url; foreach (var navigationEntity in navs) { if (navigationEntity.Url.IsNotNullAndWhiteSpace() && path.StartsWith(urlHelper.PathContent(navigationEntity.Url).ToLower()) && length < navigationEntity.Url.Length) { current = navigationEntity; length = navigationEntity.Url.Length; } } if (current != null) { current.IsCurrent = true; } } if (currentWidget.RootID.IsNullOrEmpty() || currentWidget.RootID == "root") { currentWidget.RootID = "#"; } return(widget.ToWidgetViewModelPart(new NavigationWidgetViewModel(navs, currentWidget))); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { var viewModel = new ArticleDetailViewModel(); var articleWidget = widget as ArticleSpecialDetailWidget; ArticleEntity article = null; int articleId = articleWidget.ArticleId ?? 0; if (articleId > 0) { article = _articleService.Get(articleId); } else if (articleWidget.ArticleName.IsNotNullAndWhiteSpace()) { article = _articleService.GetByUrl(articleWidget.ArticleName); } if (article == null) { actionContext.NotFoundResult(); } else { _articleService.IncreaseCount(article); var layout = actionContext.HttpContext.GetLayout(); if (layout != null && layout.Page != null) { layout.Page.MetaKeyWorlds = article.MetaKeyWords; layout.Page.MetaDescription = article.MetaDescription; layout.Page.Title = article.Title; } } viewModel.Current = article; return(widget.ToWidgetViewModelPart(viewModel)); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { int articleId = actionContext.RouteData.GetPost(); var viewModel = new ArticleDetailViewModel { Current = _articleService.Get(articleId) }; if (viewModel.Current == null) { viewModel.Current = new ArticleEntity { Title = "文章明细组件使用说明", ImageUrl = "~/Plugins/ZKEACMS.Article/Content/Image/Example.png", ArticleContent = "<p>如上图所示,该组件需要一个<code>文章列表组件</code>组合使用,您需要在其它页面添加一个文章列表组件并链接过来,然后点击文章列表中的文章,该组件就可正常显示文章的内容</p>", CreatebyName = "ZKEASOFT" }; } var layout = actionContext.HttpContext.GetLayout(); layout.Page.MetaKeyWorlds = viewModel.Current.MetaKeyWords; layout.Page.MetaDescription = viewModel.Current.MetaDescription; layout.Page.Title = viewModel.Current.Title; return(widget.ToWidgetViewModelPart(viewModel)); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { ProductCategoryWidget currentWidget = widget as ProductCategoryWidget; int cate = actionContext.RouteData.GetCategory(); ProductCategory productCategory = null; if (cate > 0) { productCategory = _productCategoryService.Get(cate); } if (actionContext.RouteData.GetCategoryUrl().IsNullOrEmpty() && productCategory != null) { if (productCategory.Url.IsNotNullAndWhiteSpace()) { actionContext.RedirectTo($"{actionContext.RouteData.GetPath()}/{productCategory.Url}", true); } } if (productCategory != null) { var layout = actionContext.HttpContext.GetLayout(); if (layout != null && layout.Page != null) { layout.Page.Title = productCategory.SEOTitle ?? productCategory.Title; layout.Page.MetaKeyWorlds = productCategory.SEOKeyWord; layout.Page.MetaDescription = productCategory.SEODescription; } } return(widget.ToWidgetViewModelPart(new ProductCategoryWidgetViewModel { Categorys = _productCategoryService.Get(m => m.ParentID == currentWidget.ProductCategoryID), CurrentCategory = cate })); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { int productId = actionContext.RouteData.GetPost(); ProductEntity product = null; if (productId != 0) { product = _productService.Get(productId); } if (product == null && ApplicationContext.IsAuthenticated) { foreach (var item in _productService.Get().AsQueryable().OrderByDescending(m => m.ID).Take(1)) { product = item; } } if (product == null) { actionContext.NotFoundResult(); } if (product != null) { var layout = actionContext.HttpContext.GetLayout(); if (layout != null && layout.Page != null) { var page = layout.Page; page.MetaDescription = product.SEODescription; page.MetaKeyWorlds = product.SEOKeyWord; page.Title = product.SEOTitle ?? product.Title; } } return(widget.ToWidgetViewModelPart(product ?? new ProductEntity())); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { List <PageEntity> ParentPages = new List <PageEntity>(); GetParentPage(ParentPages, actionContext.HttpContext.GetLayout().Page); return(widget.ToWidgetViewModelPart(ParentPages)); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { var currentWidget = widget as ArticleListWidget; var categoryEntity = _articleTypeService.Get(currentWidget.ArticleTypeID); int pageIndex = actionContext.RouteData.GetPage(); int cate = actionContext.RouteData.GetCategory(); var pagin = new Pagination { PageIndex = pageIndex, PageSize = currentWidget.PageSize ?? 20, OrderByDescending = "PublishDate" }; IEnumerable <ArticleEntity> articles; Expression <Func <ArticleEntity, bool> > filter = null; if (cate != 0) { filter = m => m.IsPublish && m.ArticleTypeID == cate; } else { var ids = _articleTypeService.Get(m => m.ID == currentWidget.ArticleTypeID || m.ParentID == currentWidget.ArticleTypeID).Select(m => m.ID).ToList(); if (ids.Any()) { filter = m => m.IsPublish && ids.Contains(m.ArticleTypeID ?? 0); } else { filter = m => m.IsPublish && m.ArticleTypeID == currentWidget.ArticleTypeID; } } if (currentWidget.IsPageable) { articles = _articleService.Get(filter, pagin).ToList(); } else { articles = _articleService.Get(filter).OrderByDescending(m => m.PublishDate).ToList(); } var currentArticleType = _articleTypeService.Get(cate == 0 ? currentWidget.ArticleTypeID : cate); if (currentArticleType != null) { var page = actionContext.HttpContext.GetLayout().Page; page.Title = (page.Title ?? "") + " - " + currentArticleType.Title; } return(widget.ToWidgetViewModelPart(new ArticleListWidgetViewModel { Articles = articles, Widget = currentWidget, Pagin = pagin, CategoryTitle = categoryEntity == null ? "" : categoryEntity.Title, IsPageable = currentWidget.IsPageable })); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { ProductListWidget currentWidget = widget as ProductListWidget; IEnumerable <ProductEntity> products = null; int pageIndex = actionContext.RouteData.GetPage(); int cate = actionContext.RouteData.GetCategory(); var pagin = new Pagination { PageIndex = pageIndex, PageSize = currentWidget.PageSize ?? 20, OrderBy = "OrderIndex", ThenByDescending = "ID" }; Expression <Func <ProductEntity, bool> > filter = null; if (cate != 0) { filter = m => m.IsPublish && m.ProductCategoryID == cate; } else { var ids = _productCategoryService.Get(m => m.ID == currentWidget.ProductCategoryID || m.ParentID == currentWidget.ProductCategoryID).Select(m => m.ID).ToList(); filter = m => m.IsPublish && ids.Contains(m.ProductCategoryID); } if (currentWidget.IsPageable) { products = _productService.Get(filter, pagin); } else { products = _productService.Get().Where(filter).OrderBy(m => m.OrderIndex).ThenByDescending(m => m.ID).ToList(); } var currentCategory = _productCategoryService.Get(cate == 0 ? currentWidget.ProductCategoryID : cate); if (currentCategory != null) { var layout = actionContext.HttpContext.GetLayout(); if (layout != null && layout.Page != null) { var page = layout.Page; //page.Title = (page.Title ?? "") + " - " + currentCategory.Title; page.Title = page.Title.IsNullOrWhiteSpace() ? currentCategory.Title : $"{page.Title} - {currentCategory.Title}"; } } return(widget.ToWidgetViewModelPart(new ProductListWidgetViewModel { Products = products, Page = pagin, IsPageable = currentWidget.IsPageable, Columns = currentWidget.Columns, DetailPageUrl = currentWidget.DetailPageUrl })); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { List <PageEntity> ParentPages = new List <PageEntity>(); var layout = actionContext.HttpContext.GetLayout(); if (layout != null && layout.Page != null) { GetParentPage(ParentPages, layout.Page); } return(widget.ToWidgetViewModelPart(ParentPages)); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { ProductCategoryWidget currentWidget = widget as ProductCategoryWidget; int cate = actionContext.RouteData.GetCategory(); return(widget.ToWidgetViewModelPart(new ProductCategoryWidgetViewModel { Categorys = _productCategoryService.Get(m => m.ParentID == currentWidget.ProductCategoryID), CurrentCategory = cate })); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { var currentWidget = widget as ArticleTopWidget; var viewModel = new ArticleTopWidgetViewModel { Widget = currentWidget }; var categoryIds = _articleTypeService.Get(m => m.ID == currentWidget.ArticleTypeID || m.ParentID == currentWidget.ArticleTypeID).Select(m => m.ID); viewModel.Articles = _articleService.Get(m => m.IsPublish && categoryIds.Any(cate => cate == m.ArticleTypeID)).OrderByDescending(m => m.PublishDate).Take(currentWidget.Tops ?? 10); return(widget.ToWidgetViewModelPart(viewModel)); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { ProductCategoryWidget currentWidget = widget as ProductCategoryWidget; int cate = actionContext.RouteData.GetCategory(); return(widget.ToWidgetViewModelPart(new ProductCategoryWidgetViewModel { Categorys = _productCategoryService.Get(m => m.ParentID == currentWidget.ProductCategoryID), CurrentCategory = cate, TargetPage = currentWidget.TargetPage.IsNullOrEmpty() ? actionContext.HttpContext.Request.Path.ToString().ToLower() : currentWidget.TargetPage })); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { ArticleTypeWidget currentWidget = widget as ArticleTypeWidget; var types = _articleTypeService.Get(m => m.ParentID == currentWidget.ArticleTypeID); int ac = actionContext.RouteData.GetCategory(); return(widget.ToWidgetViewModelPart(new ArticleTypeWidgetViewModel { ArticleTypes = types, ArticleTypeID = ac })); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { ArticleTypeWidget currentWidget = widget as ArticleTypeWidget; var types = _articleTypeService.Get(m => m.ParentID == currentWidget.ArticleTypeID); int ac = actionContext.RouteData.GetCategory(); return(widget.ToWidgetViewModelPart(new ArticleTypeWidgetViewModel { ArticleTypes = types, CurrentType = _articleTypeService.Get(currentWidget.ArticleTypeID), TargetPage = currentWidget.TargetPage.IsNullOrEmpty() ? actionContext.HttpContext.Request.Path.ToString().ToLower() : currentWidget.TargetPage, ArticleTypeID = ac })); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { var currentWidget = widget as ArticleListWidget; var categoryEntity = _articleTypeService.Get(currentWidget.ArticleTypeID); int pageIndex = actionContext.RouteData.GetPage(); int cate = actionContext.RouteData.GetCategory(); var page = new Pagination { PageIndex = pageIndex, PageSize = currentWidget.PageSize ?? 20 }; IEnumerable <ArticleEntity> articles; Expression <Func <ArticleEntity, bool> > filter = null; if (cate != 0) { filter = m => m.IsPublish && m.ArticleTypeID == cate; } else { var ids = _articleTypeService.Get(m => m.ID == currentWidget.ArticleTypeID || m.ParentID == currentWidget.ArticleTypeID).Select(m => m.ID); if (ids.Any()) { filter = m => m.IsPublish && ids.Any(id => id == m.ArticleTypeID); } else { filter = m => m.IsPublish && m.ArticleTypeID == currentWidget.ArticleTypeID; } } if (currentWidget.IsPageable) { page.RecordCount = _articleService.Count(filter); articles = _articleService.Get(filter).OrderByDescending(m => m.ID).Skip(page.PageIndex * page.PageSize).Take(page.PageSize);; } else { articles = _articleService.Get(filter).OrderByDescending(m => m.ID); } return(widget.ToWidgetViewModelPart(new ArticleListWidgetViewModel { Articles = articles, Widget = currentWidget, Pagin = page, CategoryTitle = categoryEntity == null ? "" : categoryEntity.Title, IsPageable = currentWidget.IsPageable })); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { var currentWidget = widget as ArticleTopWidget; var page = new Pagination { PageIndex = 0, PageSize = currentWidget.Tops ?? 20 }; var viewModel = new ArticleTopWidgetViewModel { Widget = currentWidget }; viewModel.Articles = _articleService.Get(m => m.IsPublish && m.ArticleTypeID == currentWidget.ArticleTypeID).OrderByDescending(m => m.PublishDate); return(widget.ToWidgetViewModelPart(viewModel)); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { ProductListWidget pwidget = widget as ProductListWidget; IEnumerable <ProductEntity> products = null; int pageIndex = actionContext.RouteData.GetPage(); int cate = actionContext.RouteData.GetCategory(); var page = new Pagination { PageIndex = pageIndex, PageSize = pwidget.PageSize ?? 20 }; Expression <Func <ProductEntity, bool> > filter = null; if (cate != 0) { filter = m => m.IsPublish && m.ProductCategoryID == cate; } else { var ids = _productCategoryService.Get(m => m.ID == pwidget.ProductCategoryID || m.ParentID == pwidget.ProductCategoryID).Select(m => m.ID); if (ids.Any()) { filter = m => m.IsPublish && ids.Any(id => id == m.ProductCategoryID); } else { filter = m => m.IsPublish && m.ProductCategoryID == pwidget.ProductCategoryID; } } if (pwidget.IsPageable) { page.RecordCount = _productService.Count(filter); products = _productService.Get(filter).OrderBy(m => m.OrderIndex).ThenByDescending(m => m.ID).Skip(page.PageIndex * page.PageSize).Take(page.PageSize); } else { products = _productService.Get(filter).OrderBy(m => m.OrderIndex).ThenByDescending(m => m.ID); } return(widget.ToWidgetViewModelPart(new ProductListWidgetViewModel { Products = products, Page = page, IsPageable = pwidget.IsPageable, Columns = pwidget.Columns, DetailPageUrl = pwidget.DetailPageUrl })); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { var currentWidget = widget as NavigationWidget; var navs = _navigationService.Get() .Where(m => m.Status == (int)RecordStatus.Active).OrderBy(m => m.DisplayOrder).ToList(); string path = null; if (ApplicationContext.As <CMSApplicationContext>().IsDesignMode) { var layout = actionContext.HttpContext.GetLayout(); if (layout != null && layout.Page != null) { path = layout.Page.Url.Replace("~/", "/"); } } else if (actionContext is ActionExecutedContext) { path = (actionContext as ActionExecutedContext).RouteData.GetPath(); } if (path != null) { NavigationEntity current = null; int length = 0; foreach (var navigationEntity in navs) { if (navigationEntity.Url.IsNotNullAndWhiteSpace() && path.IndexOf((navigationEntity.Url ?? "").Replace("~/", "/").Replace(".html", string.Empty), StringComparison.OrdinalIgnoreCase) == 0 && length < navigationEntity.Url.Length) { current = navigationEntity; length = navigationEntity.Url.Length; } } if (current != null) { current.IsCurrent = true; } } if (currentWidget.RootID.IsNullOrEmpty() || currentWidget.RootID == "root") { currentWidget.RootID = "#"; } return(widget.ToWidgetViewModelPart(new NavigationWidgetViewModel(navs, currentWidget))); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { int articleId = actionContext.RouteData.GetPost(); var viewModel = new ArticleDetailViewModel(); if (articleId != 0) { viewModel.Current = actionContext.RouteData.GetArticle(articleId) ?? _articleService.Get(articleId); if (viewModel.Current != null) { _articleService.IncreaseCount(viewModel.Current); viewModel.Prev = _articleService.GetPrev(viewModel.Current); viewModel.Next = _articleService.GetNext(viewModel.Current); if (viewModel.Current.Url.IsNotNullAndWhiteSpace() && actionContext.RouteData.GetArticleUrl().IsNullOrWhiteSpace()) { actionContext.RedirectTo($"{actionContext.RouteData.GetPath()}/{viewModel.Current.Url}.html", true); } } } if (viewModel.Current == null && ApplicationContext.IsAuthenticated) { foreach (var item in _articleService.Get().AsQueryable().OrderByDescending(m => m.ID).Take(1)) { viewModel.Current = item; } } if (viewModel.Current == null) { actionContext.NotFoundResult(); } else { var layout = actionContext.HttpContext.GetLayout(); if (layout != null && layout.Page != null) { layout.Page.MetaKeyWorlds = viewModel.Current.MetaKeyWords; layout.Page.MetaDescription = viewModel.Current.MetaDescription; layout.Page.Title = viewModel.Current.Title; } } return(widget.ToWidgetViewModelPart(viewModel)); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { int articleId = actionContext.RouteData.GetPost(); var viewModel = new ArticleDetailViewModel(); if (articleId != 0) { viewModel.Current = _articleService.Get(articleId); if (viewModel.Current != null) { viewModel.Current.Counter = (viewModel.Current.Counter ?? 0) + 1; _articleService.Update(viewModel.Current); viewModel.Prev = _articleService.GetPrev(viewModel.Current); viewModel.Next = _articleService.GetNext(viewModel.Current); } } if (viewModel.Current == null) { foreach (var item in _articleService.Get().AsQueryable().OrderByDescending(m => m.ID).Take(1)) { viewModel.Current = item; } } if (viewModel.Current == null) { viewModel.Current = new ArticleEntity { Title = "文章明细组件使用说明", ImageUrl = "~/Plugins/ZKEACMS.Article/Content/Image/Example.png", ArticleContent = "<p>如上图所示,该组件需要一个<code>文章列表组件</code>组合使用,您需要在其它页面添加一个文章列表组件并链接过来,然后点击文章列表中的文章,该组件就可正常显示文章的内容</p>", CreatebyName = "ZKEASOFT" }; } var layout = actionContext.HttpContext.GetLayout(); if (layout != null && layout.Page != null) { layout.Page.MetaKeyWorlds = viewModel.Current.MetaKeyWords; layout.Page.MetaDescription = viewModel.Current.MetaDescription; layout.Page.Title = viewModel.Current.Title; } return(widget.ToWidgetViewModelPart(viewModel)); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { ProductCategoryWidget currentWidget = widget as ProductCategoryWidget; int cate = actionContext.RouteData.GetCategory(); if (actionContext.RouteData.GetCategoryUrl().IsNullOrEmpty() && cate > 0) { var productCategory = _productCategoryService.Get(cate); if (productCategory != null && productCategory.Url.IsNotNullAndWhiteSpace()) { actionContext.RedirectTo($"{actionContext.RouteData.GetPath()}/{productCategory.Url}", true); } } return(widget.ToWidgetViewModelPart(new ProductCategoryWidgetViewModel { Categorys = _productCategoryService.Get(m => m.ParentID == currentWidget.ProductCategoryID), CurrentCategory = cate })); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { int productId = actionContext.RouteData.GetPost(); var product = _productService.Get(productId) ?? new ProductEntity { Title = "产品明细组件使用说明", ImageUrl = "~/Plugins/ZKEACMS.Product/Content/Image/Example.png", ProductContent = "<p>如上图所示,该组件需要一个<code>产品列表组件</code>组合使用,您需要在其它页面添加一个产品列表组件并链接过来,然后点击产品列表中的产品,该组件就可正常显示产品的内容</p>", CreatebyName = "ZKEASOFT" }; var page = actionContext.HttpContext.GetLayout().Page; page.MetaDescription = product.SEODescription; page.MetaKeyWorlds = product.SEOKeyWord; page.Title = product.SEOTitle ?? product.Title; return(widget.ToWidgetViewModelPart(product)); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { int articleId = actionContext.RouteData.GetPost(); var viewModel = new ArticleDetailViewModel(); if (articleId != 0) { viewModel.Current = _articleService.Get(articleId); if (viewModel.Current != null) { viewModel.Current.Counter = (viewModel.Current.Counter ?? 0) + 1; _articleService.Update(viewModel.Current); viewModel.Prev = _articleService.GetPrev(viewModel.Current); viewModel.Next = _articleService.GetNext(viewModel.Current); } } if (viewModel.Current == null && ApplicationContext.IsAuthenticated) { foreach (var item in _articleService.Get().AsQueryable().OrderByDescending(m => m.ID).Take(1)) { viewModel.Current = item; } } if (viewModel.Current == null) { actionContext.NotFoundResult(); } else { var layout = actionContext.HttpContext.GetLayout(); if (layout != null && layout.Page != null) { layout.Page.MetaKeyWorlds = viewModel.Current.MetaKeyWords; layout.Page.MetaDescription = viewModel.Current.MetaDescription; layout.Page.Title = viewModel.Current.Title; } } return(widget.ToWidgetViewModelPart(viewModel)); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { ArticleTypeWidget currentWidget = widget as ArticleTypeWidget; var types = _articleTypeService.Get(m => m.ParentID == currentWidget.ArticleTypeID); int ac = actionContext.RouteData.GetCategory(); if (actionContext.RouteData.GetCategoryUrl().IsNullOrEmpty() && ac > 0) { var articleType = _articleTypeService.Get(ac); if (articleType != null && articleType.Url.IsNotNullAndWhiteSpace()) { actionContext.RedirectTo($"{actionContext.RouteData.GetPath()}/{articleType.Url}", true); } } return(widget.ToWidgetViewModelPart(new ArticleTypeWidgetViewModel { ArticleTypes = types, ArticleTypeID = ac })); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { int productId = actionContext.RouteData.GetPost(); ProductEntity product = null; if (productId != 0) { product = actionContext.RouteData.GetProduct(productId) ?? _productService.Get(productId); if (product != null && product.Url.IsNotNullAndWhiteSpace() && actionContext.RouteData.GetProductUrl().IsNullOrWhiteSpace()) { actionContext.RedirectTo($"{actionContext.RouteData.GetPath()}/{product.Url}.html", true); } } if (product == null && ApplicationContext.IsAuthenticated) { product = _productService.Get().OrderByDescending(m => m.ID).FirstOrDefault(); if (product != null) { product = _productService.Get(product.ID); } } if (product == null) { actionContext.NotFoundResult(); } if (product != null) { var layout = actionContext.HttpContext.GetLayout(); if (layout != null && layout.Page != null) { var page = layout.Page; page.MetaDescription = product.SEODescription; page.MetaKeyWorlds = product.SEOKeyWord; page.Title = product.SEOTitle ?? product.Title; } } return(widget.ToWidgetViewModelPart(product ?? new ProductEntity())); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { int productId = actionContext.RouteData.GetPost(); ProductEntity product = null; if (productId != 0) { product = _productService.Get(productId); } if (product == null) { foreach (var item in _productService.Get().AsQueryable().OrderByDescending(m => m.ID).Take(1)) { product = item; } } if (product == null) { product = new ProductEntity { Title = "产品明细组件使用说明", ImageUrl = "~/Plugins/ZKEACMS.Product/Content/Image/Example.png", ProductContent = "<p>如上图所示,该组件需要一个<code>产品列表组件</code>组合使用,您需要在其它页面添加一个产品列表组件并链接过来,然后点击产品列表中的产品,该组件就可正常显示产品的内容</p>", CreatebyName = "ZKEASOFT" }; } var page = actionContext.HttpContext.GetLayout().Page; page.MetaDescription = product.SEODescription; page.MetaKeyWorlds = product.SEOKeyWord; page.Title = product.SEOTitle ?? product.Title; return(widget.ToWidgetViewModelPart(product)); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { return(widget.ToWidgetViewModelPart(_commentsService.Get(m => m.PagePath == actionContext.HttpContext.Request.Path.Value && m.Status == (int)RecordStatus.Active))); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { return(widget.ToWidgetViewModelPart(new MessageEntity())); }