gpt4 book ai didi

asp.net-core - IComponents View 的 Nop Commerce 自定义 View 引擎在 nopcommerce 4.0 中不起作用

转载 作者:行者123 更新时间:2023-12-03 05:34:26 24 4
gpt4 key购买 nike

我在 NopCommerce v4.0 的自定义插件中有以下代码

我正在尝试覆盖 nopcommerce 中 IComponent 的默认 ordertotal 页面,并尝试使用给定的代码从我的插件中覆盖

ViewLocationExpander.cs

public class BundledDiscountsViewEngine : IViewLocationExpander  
{
public void PopulateValues(ViewLocationExpanderContext context)
{
//nothing to do here.

}
public IEnumerable<string> ExpandViewLocations(ViewLocationExpanderContext context, IEnumerable<string> viewLocations)
{

if (context.AreaName == null && context.ViewName == "Components/OrderTotals/Default")
{
viewLocations = new string[] { $"/Plugins/Demo/Views/Components/OrderTotals/{{0}}.cshtml"
}.Concat(viewLocations);
}

return viewLocations;
}
}

Nopstartup.cs

public class NopStartup : INopStartup
{
public void ConfigureServices(IServiceCollection services, IConfigurationRoot configuration)
{
services.Configure<RazorViewEngineOptions>(options =>
{
options.ViewLocationExpanders.Add(new ViewLocationExpander());
});
}

public void Configure(IApplicationBuilder application)
{
}

public int Order
{
get { return 1001; } //add after nopcommerce is done
}
}

它的调用来自 ExpandViewLocations.cs 文件,路径也可以,但它重定向了 Views/shared/component/OrderTotals/Default.cshtml 中 nopcommerce 的默认页面

我尝试了很多不同的方法,但没有得到任何解决方案如果有人有想法请回复

谢谢伊利亚斯·帕特尔

最佳答案

我面临同样的问题,在 nop 4.0 中,它们采用默认 View 路径,你必须像这样声明

  viewLocations = new string[] { $"/Plugins/Demo/Views/{{0}}.cshtml"
}.Concat(viewLocations);

这会有帮助

关于asp.net-core - IComponents View 的 Nop Commerce 自定义 View 引擎在 nopcommerce 4.0 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47572810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com