我有一个nopCommerce插件,它有一个自定义视图引擎如下:
CustomViewEngine : ThemeableRazorViewEngine
该插件有一个名为CategoryNavigation.cshtml
的视图文件,该文件也存在于Views\Catalog\CategoryNavigation.cshtml
如您所见,第一个搜索位置是插件文件夹。
因此,如果文件存在于插件文件夹中但不存在于Views\Catalog\
文件夹中,则会从插件文件夹中显示该文件而不会出现任何错误。
但是,如果该文件同时存在于插件文件夹和Views\Catalog\
中,则会呈现Views\Catalog\
中的视图。但Views\Catalog\
在搜索位置下降(见上图)。
知道可能导致这个问题的原因吗?
nopCommerce 3.70
答案 0 :(得分:1)
我需要插件中的视图才能呈现默认视图
如果要在插件中显示视图页面,则应使用已经完成的插件视图引擎。但请确保您还要定义ViewLocationFormats
,如下所示。
public class CustomViewEngine :ThemeableRazorViewEngine
{
public CustomViewEngine ()
{
ViewLocationFormats =
new[]
{
"~/Plugins/Feed.Instagram/Views/Catalog/{0}.cshtml"
};
}
}
此处在您的视图文件夹中创建一个文件夹(目录),并将categoryNavigation.cshtml
粘贴到其中。
它将显示插件中的视图页面而不是默认值。
希望这会对你有所帮助!
有关详细信息,请参阅:Ways to Display Views in Your nopCommerce Plugins