在启用静态缓存后,系统并不会主动缓存页面。在登录状态下,系统会优先返回缓存版本,所以也不会生成缓存。
开源CMS .net core版本用的是Entity Framework Core,因此 Entity Framework支持的数据库都支持。我们已经准备好了MySql的建库脚本和SQLite的完整数据库,可以直接使用。
namespace 开源CMS.Common.Models{ [DataTable("HtmlWidget")] public class HtmlWidget : BasicWidget { public string HTML { get; set; } } class HtmlWidgetMetaData : WidgetMetaData<HtmlWidget> { protected override void ViewConfigure() { base.ViewConfigure(); ViewConfig(m => m.PartialView).AsHidden(); ViewConfig(m => m.HTML).AsTextArea().AddClass("html").Order(NextOrder()); } }}
HtmlWidgetService
:
组的排列,可以上从上到下一字排开,也可以从左到右水平分列。开源CMS默认提供了几种常用的水平排列方式,点击图标即可快速排列。
class ArticleEntityMeta : LocalizeViewMetaData<ArticleEntity>{ protected override void ViewConfigure() { base.ViewConfigure(); ... }}
这样实体就配置好了。
@using (Html.BeginForm("PostMessage", "MessageHandle", FormMethod.Post)){ @Html.HiddenForCurrentPagePath() @Html.LabelFor(m => m.Title) @Html.TextBoxFor(m => m.Title) @Html.ValidationMessageFor(m => m.Title)}
参考:Widget.Message.cshtml
在页面的设计页面,点击工具栏的“属性/历史记录”进入页面的属性页面:
工具栏在开源CMS里面随处可见,使用它们,可以方便您创建、修改页面内容。
如果您在部署完成以后,通过浏览器不能正常访问,请尝试使用命令来运行程序看否正常,使用cmd
,然后定位到程序目录:
需要注意的是组件的区域内容,请使用<zone>
标签,如果是新加的区域,ID
和HeadingCode
留空即可:
开源CMSCMS可以快速复制页面,从现有页面快速创建一个副本。所以如果是要创建一个结构相似的页面的时候可以使用这个功能。
ApplicationContext.As<CMSApplicationContext>()
样式、脚本
在视图页面里面,可以很容易的引入样式或者脚本,并可以设置放在页面的顶部或者底部:
下载安装VC+
@model 开源CMS.Common.Models.HtmlWidget<div class="html-widget" property="true" method="html" data-property="HTML"> @Html.Raw(Model.HTML)</div>
这里需要注意property="true"
,method="html"
,data-property="HTML"
这三个属性标记。
例如我们创建了一个ArticleInfoController
,GetArticles
用于返回所有文章信息:
产品组的管理比较简单,就是从现有的产品中选取产品,然后组成一个特定组。对产品的修改,会直接影响产品
net stop was /ynet start w3svc
5. 新建一个应用程序池,并选择使用无托管代码:
该篇针对.Net Core版本的开源CMS在Windows环境的安装和部署
public static void Use开源CMS(this IServiceCollection services, IConfigurationRoot configuration){ services.ConfigureMetaData<HtmlWidget, HtmlWidgetMetaData>();}
HTML组件的注册有点不一样,因为是CMS的基础类型,所以直接初始化到了KnownWidgets 里面。
dotnet tool install --global 开源CMS.Publisher
然后定位到开源CMS.WebHost
目录,并使用Publish-开源CMS
命令通过-r
参数指定具体的RID:
@model IList<Comments>@{}...
最后,需要在 Plugin.cs
(每一个插件,都对应有一个XXXPlugin.cs类)类里面进行组件的注册:
组与组之间可以通过拖拽来调整顺序,组里面的内容,也可以使用同样的方式进行顺序调整:
产品组功能在产品管理菜单下(/admin/productgallery
),进入产品组功能菜单后,就可以管理产品组了。
使用自定义内容的功能,可以方便的创建特有的内容类型,每个类型的字段都可以自定义,例如添加一个“个人信息”的类型,有两个字段,姓名和地址:
路径导航用于显示当前页面的访问路径,并提供链接跳转到上级目录页面。 方便用户在网页中浏览操作。
public override void ConfigureServices(IServiceCollection serviceCollection){ serviceCollection.ConfigureCache<IEnumerable<WidgetBase>>();}
使用缓存
注册过后就可以使用缓存了:
开源CMSCMS默认包含了许多了的组件(Widget
),正是这些组件组成了开源CMS,通过它们,可以让CMS变得更加的多样化,功能化。