nopCommerce_4.40.3 功能实现详解---- 第17章 Web/Areas定义实现

1 整体框架的定义实现

0051 AreaNames

NopCommonStartup类,该类设置一个常量,该常量指定了保存后台相关操作实现文件夹的名称。

0052 BaseAdminController、HomeController、CustomerRoleController

BaseAdminController类,通过[Area(AreaNames.Admin)]标记把Web/Areas注入到Web层中,从而保证浏览器对后台页面的正常显示。

注意

.NetCore框架还可以通过services.Configure<RazorViewEngineOptions>内置依赖注入方法来实现把Web/Areas注入到Web层中,但第一种方法的实现更为简单、快捷和灵活,所以nopCommerce开发者和微软中的示例都把一种方法作为主要实现方法。

    HomeController类,继承于BaseAdminController类,保证浏览器对后台主页面的正常显示。

    CustomerRoleController类,继承于BaseAdminController类,保证浏览器对后台客户角色页面的正常显示

  1. 重构Nop.Web.Infrastructure.RouteProvider.RegisterRoutes方法。
  2. 定义Nop.Web\Areas\Admin\Views\Shared\_MenuItem.cshtml,Razo页面。
  3. 定义Nop.Web\Areas\Admin\Views\Shared\Menu.cshtml,Razo页面。
  4. 定义Nop.Web\Areas\Admin\Views\Shared\_AdminLayout.cshtml,Razo页面。
  5. 定义Nop.Web\Areas\Admin\Views\_ViewStart.cshtml,Razo页面。
  6. 定义Nop.Web\Areas\Admin\Views\_ViewImports.cshtml,Razo页面。
  7. 定义Nop.Web\Areas\Admin\Views\Home\Index.cshtml,Razo页面。
  8. 定义Nop.Web\Areas\Admin\Views\CustomerRole\List.cshtml,Razo页面。
  9. 按F5执行程序,程序正常运行所有后台页面后,菜单栏正常显示。

对以上功能更为具体实现和注释见21-08-18_Nop_4.40.3(017_Areas整体框架的定义实现)。

2 左侧菜单的定义实现

  1. 定义Nop.Web\Areas\Admin\ sitemap.config。

0053 CustomerController

CustomerController类,继承于BaseAdminController类,保证浏览器对后台客户页面的正常显示。

  1. 定义Nop.Web\Areas\Admin\Views\Customer\List.cshtml,Razo页面。
  2. 重构Nop.Web\Areas\Admin\Views\Shared\Menu.cshtml,Razo页面。

0054 SiteMapNode、XmlSiteMap、Extensions

SiteMapNode类,一个站点地图节点类,通过该实体类及其属性成员实现当前程序与Razo页面菜单栏之间的数据交互操作

XmlSiteMap类,一个Xml站点地图类,通过该类把一个指定文件(在整个nopCommerce程序中特指:"~/Areas/Admin/sitemap.config")中的数据值对站点地图节点实例,进行初始化/实例化操作。

注意:

为了简化实现,注释掉了该类中的一些定义,在下一个示例中会去掉该类中关于权限定义的注释。

Extensions类,一个扩展类,该类通过对系统名称字符串的检索,为Razo页面菜单栏中指定菜单及其父菜单以高亮状态进行显示提供支撑。

0055 IPageHeadBuilder、PageHeadBuilder、LayoutExtensions

    PageHeadBuilder类,继承于IPageHeadBuilder接口,一个页面头生成器类,通过该类实现当前程序与Razo页面头标签之间的数据交互操作。

LayoutExtensions类,一个布局扩展类,通过该类实现在Razo页面中,以页面控件的形式来实例化一个指定类,为当前程序与Razo页面头标签之间的数据交互操作,提供相应的通道。

注意:

为了简化实现,这两类中大量的实现方法被删除,只保留了一些关于菜单的定义实现方法。

4、重构Nop.Web.Framework.Infrastructure.DependencyRegistrar.Register方法添加语句:

    //通过.NetCore框架依赖注入容器实例的指定API方法,对页面头生成器具体实现类进行依赖注入操作。

            services.AddScoped<IPageHeadBuilder, PageHeadBuilder>();

  1. 重构Nop.Web\Areas\Admin\Views\_ViewImports.cshtml,Razo页面。
  2. 重构Nop.Web\Areas\Admin\Views\Home\Index.cshtml,Razo页面。
  3. 重构Nop.Web\Areas\Admin\Views\CustomerRole\List.cshtml,Razo页面。
  4. 重构Nop.Web\Areas\Admin\Views\Shared\_MenuItem.cshtml,Razo页面。
  5. 按F5执行程序,程序正常运行所有后台页面后,菜单栏正常显示。

对以上功能更为具体实现和注释见21-08-20_Nop_4.40.3(018_Areas左侧菜单栏的定义实现)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: nopCommerce是一种免费开源的电子商务解决方案,可以用于创建和管理在线商店。它具有高度灵活性和可扩展性,适用于各种规模和类型的企业。对于没有技术背景或经验的商家来说,nopCommerce提供了托管解决方案,使他们可以轻松搭建和管理自己的在线商店。 通过nopCommerce托管,商家无需关心服务器设置和管理等技术问题。托管方会提供服务器基础设施、数据库和通信连接等,以确保商店的正常运行和安全性。商家只需要关注商店的内容和产品,并使用nopCommerce的商家后台管理工具进行设置和配置。 托管解决方案还提供了多种商店模板和主题,商家可以根据自己的品牌形象和需求选择合适的外观和布局。此外,托管方还会提供备份和数据恢复等服务,以防止数据丢失和不可预见的故障。 对于一些规模较小的企业或个人商家来说,选择nopCommerce托管可以节省时间和成本,因为他们无需进行服务器配置和维护。同时,nopCommerce托管方会提供技术支持和更新服务,以确保商店始终保持最新和安全的状态。 总之,nopCommerce托管为商家提供了一个简单和方便的方式来创建和管理自己的在线商店。商家可以专注于业务发展,而不必花费过多的时间和精力在技术细节上。无论是初创企业还是规模较大的公司,nopCommerce托管都提供了一个强大和可靠的电子商务解决方案。 ### 回答2: nopCommerce是一个开源的电子商务平台,可以通过托管的方式进行部署和运行。托管意味着将整个nopCommerce网站部署在一个托管服务提供商的服务器上,而不需要自己搭建和维护服务器。 选择nopCommerce托管的好处之一是省去了自行购买服务器的成本和用户维护服务器的繁琐工作。托管服务提供商通常会提供稳定的服务器基础设施和网络连接,以确保网站的稳定运行和可靠性。用户只需根据自己的需求选择一个可靠的托管服务提供商,并与其合作购买托管服务,即可将nopCommerce网站部署在托管服务提供商的服务器上。 另一个好处是托管服务商通常会提供备份和恢复的功能,以确保网站数据的安全性。它们会定期备份网站数据,并在需要的时候进行恢复。用户不需要担心数据丢失或损坏的问题,因为托管服务商会负责备份和恢复。 此外,对于不具备服务器管理经验或技术知识的用户来说,托管是一个更好的选择。托管服务提供商会负责服务器的日常维护和管理工作,包括服务器更新、安全补丁和性能优化等。用户只需要关注网站的内容和业务,而不必花费精力去学习和处理服务器管理问题。 当然,与托管服务相关的费用是需要考虑的因素之一。托管服务通常需要付费,其费用取决于所选择的托管服务提供商及其提供的服务级别。用户需要根据自己的预算和需求选择适合的托管服务。 总结起来,nopCommerce托管是一种方便、省力且可靠的选择。它提供了稳定的服务器基础设施、备份和恢复功能,并减轻了用户的服务器管理负担。当然,用户需要根据自己的需求和预算选择合适的托管服务提供商。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值