例如,如果在英文名处输入的是company
,那最类别URL地址将会变成/product/company
这样更为友好的地址。
注意:在开发环境新增了模板,需要运行PackWidgetTemplate
程序来打包所有的模板。
开源CMSCMS对服务器的硬件配要求非常低,当然这个跟访问量有关系。开源CMSCMS基于.Net 5性能卓越,使用一个最低配的服务器(512M内存)即可满足一个小中型网站的需求。
在添加导航组件时,或者修改已添加的导航组件,选择对应的根结点即可:
ApplicationContext.CurrentUser //当前后端登录用户ApplicationContext.CurrentCustomer //前端用户
可以这样获取CMSApplicationContext
先看一下开源CMSCMS中的基础路由定义RouteDescriptors
代码:
下载后,注意先删除包里面的App_Data
目录后再解压覆盖原先的程序。
Windows环境请直接使用下列地址下载并安装最新版本的运行环境
工具栏中显示“布局”说明该内容块来自布局,修改该内容,会影响所有使用该布局的页面。
IsTrue
和Value
两个方法都有同样一个重载,即可传入一个“WorkContext”。这个WorkContext可以理解为表达式的应用上下文,即表达式的工作“环境”,表达式可以在该“WorkContext”中取对应的值进行计算。
如果是.Net Core版本,建意不要使用IIS Express而是使用控制台来运行程序,以免插件生成失败。设置使用开源CMS.WebHost来运行程序:
namespace 开源CMS.Article.Service{ public class ArticleService : LocalizeService<ArticleEntity>, IArticleService { private readonly ILocalize _localize; public ArticleService(IApplicationContext applicationContext, ILocalize localize, CMSDbContext dbContext) : base(applicationContext, dbContext) { _localize = localize; } ... }}
请视具体情况来确定是否使用LocalizeService<T>
,如果业务比较特殊,也可自己做实现,或者重载基类方法。
ValueOfRuleProvider
用于获取“WorkContext”中的值:
new RouteDescriptor{ RouteName = "pageRoute", Template = "{*path}", Defaults = new { controller = "Page", action = "PreView" }, Constraints = new { path = new PageRouteConstraint() }, Priority = -1}
注意:.NET Core版本为
PageController -> Main
如果是图片,我们将要取图片的
src
属性作为图片的地址。我们使用attr
方法来取src
属性。所以当访问~/index时,就到了
PageController -> Main
进行处理。您可以考虑使用以下服务器,或者其它任何云服务器供应商提供的VPS:
看到这个图,你看到了什么?“品牌”【标题】,“请选择手机品牌”【段落,文本】,“苹果,华硕....”【很多个图片】,把它们组合起来便是了。
ml
@using (Script.AtFoot()){ <script type="text/javascript"> </script>}定义样式:
public interface IDashboardPartDriveService : IDependency { DashboardPart Create(); }欢迎界面示例DashboardWelcomePartServicepublic class DashboardWelcomePartService : IDashboardPartDriveService { public DashboardPart Create() { return new DashboardPart { Order = -1,//排序 ViewName = "Dashboard.Welcome" //视图名称 }; } }DashboardPartpublic class DashboardPart { public int Order { get; set; } //排序 public string ViewName { get; set; } //视图名称 public object ViewModel { get; set; } //传到视图的Model }视图Dashboard.Welcome.cshtml在 Views 目录下面创建一个名为Dashboard.Welcome.cshtml 的视图文件,用于显示仪表盘的内容。
一个自定义组件,可以由多个分组构成,每个分组都有自己的显示模板。组之前可以垂直排列,或者水平删格排列(Bootstrap列),如下图:
添加焦点图视频演示
@model SectionGroup接下来,我们将从分组中取出标题,段落,图片等内容:
[DefaultAuthorize(Policy = PermissionKeys.ManageArticle)]public override IActionResult Create(){ return base.Create();}如果越权限访问,则会跳转到禁止访问页面。
KEY的组成格式为ClassName@PropertyName,例如产品的标题是:Product@Title
开源CMS提供了一个可视化的“工具”可以轻松的创建和规则布局。通过简单的拖拉操作,就可以快速的创建一个页面布局。