实现效果如下:
1.在前台Web的Category Menu显示 Store;
2.点击 Store 显示 Store List列表;
3.点击 列表Store 的 Company Name 进入该Store的单页查看;
主要调整步骤:
代码层面Nop.Web 项目
1.路由
Infrastructure 的RouteProvider.cs
仿照VendorList 增添路由配置
//stores routes.MapLocalizedRoute("StoreList", "store-all/", new { controller = "Catalog", action = "StoreAll" }, new[] { "Nop.Web.Controllers" }); //store routes.MapLocalizedRoute("Store", "store/{storeId}", new { controller = "Catalog", action = "Store" }, new { storeId = @"d+" }, new[] { "Nop.Web.Controllers" });
2.Model
Nop.Web Models/Catalog 增加 StoreModel
3.Controller Action
Nop.Web Controllers/Catalog 仿照VendorAll,增加StoreAll
同时增添相应的 _storeServices等
4.View
Nop.Web Views/Catalog 仿照VendorAll,增加StoreAll
@model IList<StoreModel> @{ Layout = "~/Views/Shared/_ColumnsTwo.cshtml"; //title Html.AddTitleParts(T("PageTitle.Stores").Text); //page class Html.AppendPageCssClassParts("html-store-list-page"); } @using Nop.Web.Models.Catalog; <div class="page store-list-page"> <div class="page-title"> <h1>@T("Stores.List")</h1> </div> <div class="page-body"> <div class="store-grid"> <div class="item-grid"> @foreach (var item in Model) { <div class="item-box"> <h2 class="title"> <a href="@item.Url" title="@item.Url"> @item.Name </a> </h2> <div> <a href="@Url.RouteUrl("Store", new { storeId = item.Id })" title="@item.CompanyName"> @item.CompanyName </a> </div> <div> @item.CompanyPhoneNumber </div> <div> @item.CompanyAddress </div> </div> } </div> </div> </div> </div>
5.css
样式调整
6.运行网站 Admin 后台
Categorys 增加 Store , 并配置其SEO 如Store-all
Language 配置相应的文字显示;
7.运行网站 查看效果