首页 > 学院 > 开发设计 > 正文

05.NopCommerce给Topic表添加排序及类别字段

2019-11-17 03:06:49
字体:
来源:转载
供稿:网友

05.NopCommerce给Topic表添加排序及类别字段

在用到Nopcommerce中静态页面表时,发现Topic表没有排序字段和类别字段,导致如果Page文件很多的话,无法区分是哪个类别,为此我稍微扩展了一下字段,在此记录一下操作流程,方便以后自己查看,同时也分享给我们的朋友!

image

0.在数据库中添加DisplayOrder,CategoryName字段

image

注意DisplayOrder为整形,CategoryName为字符串类型,别外加好后,记得把数据库DispalyOrder的值默认设置一个值,比如0。

1.给Domain的Entity实体加上两个字段DisplayOrder,CategoryName

image

我们在Nop.Core项目下,找到Domain文件夹,再找到Topics文件下的Topic.cs文件,加入以下新增字段代码

//===========================================================================        // 新增字段        //===========================================================================        /// <summary>        /// 显示顺序        /// </summary>        public int DisplayOrder { get; set; }        /// <summary>        /// 类别名称        /// </summary>        public string CategoryName { get; set; }        //===========================================================================

2.管理后台TopicModel实体加上两个字段DisplayOrder,CategoryName

image

我们在Nop.Admin项目下,找到Model文件夹,再找到Topics文件下的TopicModel.cs文件,加入以下新增字段代码

//===========================================================================        // 新增字段        //===========================================================================        [NoPResourceDisplayName("Admin.ContentManagement.Topics.Fields.DisplayOrder")]        public int DisplayOrder { get; set; }        [NopResourceDisplayName("Admin.ContentManagement.Topics.Fields.CategoryName")]        public string CategoryName { get; set; }        //===========================================================================

 

3.在资源库中加入DisplayOrder与CategoryName的显示名称

打开网站后台

image

选择"View string resources"

image

 

查找一下,Admin.ContentManagement.Topics.Fields.DisplayOrder 与Admin.ContentManagement.Topics.Fields.CategoryName 的值是否存在,不存在则添加.

 

Resource name:Admin.ContentManagement.Topics.Fields.DisplayOrder value:排序

Resource name:Admin.ContentManagement.Topics.Fields.CategoryName value:类别名称

image

 

4.修改后台管理View

4.1修改添加与修改View

打开“Nop.Admin”项目 -> 打开Views文件夹 –> “Topic” –> “_CreateOrUpdate.cshtml”

image

image

加入以下代码

<tr>            <td class="adminTitle">                @Html.NopLabelFor(model => model.CategoryName):            </td>            <td class="adminData">                @Html.EditorFor(model => model.CategoryName)                @Html.ValidationMessageFor(model => model.CategoryName)            </td>        </tr>        <tr>            <td class="adminTitle">                @Html.NopLabelFor(model => model.DisplayOrder):            </td>            <td class="adminData">                @Html.EditorFor(model => model.DisplayOrder)                @Html.ValidationMessageFor(model => model.DisplayOrder)            </td>        </tr>

 

 

4.2修改列表View

打开“Nop.Admin”项目 -> 打开Views文件夹 –> “Topic” –> “list.cshtml”

image

 

 

image

 

具体代码如下(Nopcommerce3.2版本下的,3.3可能有所不同):

<table class="adminContent">    <tr>        <td>            @(Html.Telerik().Grid<TopicModel>()                    .Name("topics-grid")                    .Columns(columns =>                    {                        columns.Bound(x => x.SystemName);                        columns.Bound(x => x.Title);                        columns.Bound(x => x.CategoryName);                        columns.Bound(x => x.DisplayOrder);                        columns.Bound(x => x.IsPassWordProtected)                            .Template(                                @<img alt="" src="@Url.Content("~/Administration/Content/images/active-" + item.IsPasswordProtected.ToString().ToLowerInvariant() + ".gif")" />                            )                            .ClientTemplate(
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表