From d0ebce4b293454467481f7a8ac73f284cc96b7eb Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 15 Feb 2021 15:13:09 +0300 Subject: [PATCH] CmsKit - Revert Alternative way to handle pages #a5bf8ebe --- .../CmsKitPublicWebModule.cs | 4 ++ .../Controllers/PageController.cs | 37 ------------------- .../Pages/CmsKit/Pages/Index.cshtml | 13 +++++++ .../Pages/CmsKit/Pages/Index.cshtml.cs | 34 +++++++++++++++++ .../Views/Page/Index.cshtml | 9 ----- 5 files changed, 51 insertions(+), 46 deletions(-) delete mode 100644 modules/cms-kit/src/Volo.CmsKit.Public.Web/Controllers/PageController.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml create mode 100644 modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml.cs delete mode 100644 modules/cms-kit/src/Volo.CmsKit.Public.Web/Views/Page/Index.cshtml diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs index b5c7b9bb3f..953102aa79 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs @@ -61,6 +61,10 @@ namespace Volo.CmsKit.Public.Web { Configure(options => { + if (GlobalFeatureManager.Instance.IsEnabled()) + { + options.Conventions.AddPageRoute("/CmsKit/Pages/Index", @"{*pageUrl:minlength(1)}"); + } }); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Controllers/PageController.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Controllers/PageController.cs deleted file mode 100644 index 5d3d5acc9c..0000000000 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Controllers/PageController.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Microsoft.AspNetCore.Mvc; -using Microsoft.AspNetCore.Mvc.ActionConstraints; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.GlobalFeatures; -using Volo.CmsKit.GlobalFeatures; -using Volo.CmsKit.Public.Pages; - -namespace Volo.CmsKit.Public.Web.Controllers -{ - [RequiresGlobalFeature(typeof(PagesFeature))] - public class PageController : CmsKitPublicControllerBase - { - protected IPageAppService PageAppService { get; } - - public PageController(IPageAppService pageAppService) - { - PageAppService = pageAppService; - } - - //[HttpGet("/{*url}", Order = int.MaxValue)] - public async Task IndexAsync(string url) - { - var page = await PageAppService.FindByUrlAsync(url); - - if (page == null) - { - return NotFound(); - } - - return View("~/Views/Page/Index.cshtml", page); - } - } -} diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml new file mode 100644 index 0000000000..73c7637b01 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml @@ -0,0 +1,13 @@ +@page "{*pageUrl}" +@using Microsoft.AspNetCore.Mvc.Localization +@using Volo.CmsKit.Localization +@using Volo.CmsKit.Public.Web.Pages.CmsKit.Shared.Components.Pages +@model Volo.CmsKit.Public.Web.Pages.CmsKit.Pages.IndexModel +@inject IHtmlLocalizer L + +@await Component.InvokeAsync(typeof(DefaultPageViewComponent), + new + { + pageId = Model.Page.Id, + title = Model.Page.Title + }) \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml.cs new file mode 100644 index 0000000000..5443608845 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml.cs @@ -0,0 +1,34 @@ +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Volo.CmsKit.Public.Pages; +using Volo.CmsKit.Web.Pages; + +namespace Volo.CmsKit.Public.Web.Pages.CmsKit.Pages +{ + public class IndexModel : CommonPageModel + { + [BindProperty(SupportsGet = true)] + public string PageUrl { get; set; } + + protected readonly IPageAppService PageAppService; + + public PageDto Page; + + public IndexModel(IPageAppService pageAppService) + { + PageAppService = pageAppService; + } + + public async Task OnGetAsync() + { + Page = await PageAppService.FindByUrlAsync(PageUrl); + + if (Page == null) + { + return NotFound(); + } + + return Page(); + } + } +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Views/Page/Index.cshtml b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Views/Page/Index.cshtml deleted file mode 100644 index de094041e4..0000000000 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Views/Page/Index.cshtml +++ /dev/null @@ -1,9 +0,0 @@ -@model Volo.CmsKit.Public.Pages.PageDto - -@using Volo.CmsKit.Public.Web.Pages.CmsKit.Shared.Components.Pages - -@await Component.InvokeAsync(typeof(DefaultPageViewComponent), new -{ - pageId = Model.Id, - title = Model.Title -}) \ No newline at end of file