Я хочу переопределить страницы «_RentalInfo.cshtml» и «_AddToCart.cshtml» из моего плагина. Для этого я создал собственный механизм просмотра и указал путь к файлам в «PartialViewLocationFormats, ViewLocationFormats». //Класс CustomViewEngine
public class CustomViewEngine : ThemeableRazorViewEngine
{
public CustomViewEngine()
{
PartialViewLocationFormats = new[] { "~/Plugins/Misc.Rental/Views/Product/{0}.cshtml" };
ViewLocationFormats = new[] { "~/Plugins/Misc.Rental/Views/Product/{0}.cshtml" };
}
}
Затем я создал файл RouteProvider.cs в плагине и добавил свой «CustomViewEngine» в список механизмов просмотра. Я также установил приоритет моего поставщика маршрутов как самый высокий.
//RouteProvider
public partial class RouteProvider : IRouteProvider
{
#region Fields
public int Priority
{
get
{
return int.MaxValue;
}
}
#endregion
#region Methods
public void RegisterRoutes(RouteCollection routes)
{
ViewEngines.Engines.Add(new CustomViewEngine());
}
#endregion
}
Наконец, согласно пути, указанному в моем «CustomViewEngine», я создал страницы «_RentalInfo.cshtml» и «_AddToCart.cshtml» в папке «Views» в моем плагине.
Но тогда по умолчанию отображается только частичный вид NopCommerce по умолчанию. Может ли кто-нибудь просмотреть мой код и сообщить мне, что я сделал неправильно или пропустил, чтобы переопределить частичные представления.