Изменить структуру URL -адреса продукта в NopCommerce 4.7.5C#

Место общения программистов C#
Ответить
Anonymous
 Изменить структуру URL -адреса продукта в NopCommerce 4.7.5

Сообщение Anonymous »

Я хочу изменить структуру URL продукта в NopCommerce 4.7.05. И я меняю Nopcommerce 4.5, он работает нормально. Но в 4.7.5 это также изменяет URL -адрес категории. После нажатия по категории он также добавил продукт в URL, который я не хочу.{host}/product/{productname}
< /code>
и страница категории хочет, чтобы этот URL < /p>
{host}/{productname}
< /code>
public void RegisterRoutes(IEndpointRouteBuilder endpointRouteBuilder)
{
var lang = GetLanguageRoutePattern();

//default routes
//these routes are not generic, they are just default to map requests that don't match other patterns,
//but we define them here since this route provider is with the lowest priority, to allow to add additional routes before them
if (!string.IsNullOrEmpty(lang))
{
endpointRouteBuilder.MapControllerRoute(name: "DefaultWithLanguageCode",
pattern: $"{lang}/{{controller=Home}}/{{action=Index}}/{{id?}}");
}

endpointRouteBuilder.MapControllerRoute(name: "Default",
pattern: "{controller=Home}/{action=Index}/{id?}");

if (!DataSettingsManager.IsDatabaseInstalled())
return;

//generic routes (actually routing is processed later in SlugRouteTransformer)
var genericCatalogPattern = $"{lang}/product/{{{NopRoutingDefaults.RouteValue.CatalogSeName}}}/{{{NopRoutingDefaults.RouteValue.SeName}}}";
endpointRouteBuilder.MapDynamicControllerRoute(genericCatalogPattern);

var genericPattern = $"{lang}/product/{{{NopRoutingDefaults.RouteValue.SeName}}}";
endpointRouteBuilder.MapDynamicControllerRoute(genericPattern);

//routes for not found slugs
if (!string.IsNullOrEmpty(lang))
{
endpointRouteBuilder.MapControllerRoute(name: NopRoutingDefaults.RouteName.Generic.GenericUrlWithLanguageCode,
pattern: genericPattern,
defaults: new { controller = "Common", action = "GenericUrl" });

endpointRouteBuilder.MapControllerRoute(name: NopRoutingDefaults.RouteName.Generic.GenericCatalogUrlWithLanguageCode,
pattern: genericCatalogPattern,
defaults: new { controller = "Common", action = "GenericUrl" });
}

endpointRouteBuilder.MapControllerRoute(name: NopRoutingDefaults.RouteName.Generic.GenericUrl,
pattern: $"{{{NopRoutingDefaults.RouteValue.SeName}}}",
defaults: new { controller = "Common", action = "GenericUrl" });

endpointRouteBuilder.MapControllerRoute(name: NopRoutingDefaults.RouteName.Generic.GenericCatalogUrl,
pattern: $"{{{NopRoutingDefaults.RouteValue.CatalogSeName}}}/{{{NopRoutingDefaults.RouteValue.SeName}}}",
defaults: new { controller = "Common", action = "GenericUrl" });

//routes for entities that support catalog path and slug (e.g. '/category-seo-name/product-seo-name')
endpointRouteBuilder.MapControllerRoute(name: NopRoutingDefaults.RouteName.Generic.ProductCatalog,
pattern: genericCatalogPattern,
defaults: new { controller = "Product", action = "ProductDetails" });

//routes for entities that support single slug (e.g. '/product-seo-name')
endpointRouteBuilder.MapControllerRoute(name: NopRoutingDefaults.RouteName.Generic.Product,
pattern: genericPattern,
defaults: new { controller = "Product", action = "ProductDetails" });

endpointRouteBuilder.MapControllerRoute(name: NopRoutingDefaults.RouteName.Generic.Category,
pattern: genericPattern,
defaults: new { controller = "Catalog", action = "Category" });

endpointRouteBuilder.MapControllerRoute(name: NopRoutingDefaults.RouteName.Generic.Manufacturer,
pattern: genericPattern,
defaults: new { controller = "Catalog", action = "Manufacturer" });

endpointRouteBuilder.MapControllerRoute(name: NopRoutingDefaults.RouteName.Generic.Vendor,
pattern: genericPattern,
defaults: new { controller = "Catalog", action = "Vendor" });

endpointRouteBuilder.MapControllerRoute(name: NopRoutingDefaults.RouteName.Generic.NewsItem,
pattern: genericPattern,
defaults: new { controller = "News", action = "NewsItem" });

endpointRouteBuilder.MapControllerRoute(name: NopRoutingDefaults.RouteName.Generic.BlogPost,
pattern: genericPattern,
defaults: new { controller = "Blog", action = "BlogPost" });

endpointRouteBuilder.MapControllerRoute(name: NopRoutingDefaults.RouteName.Generic.Topic,
pattern: genericPattern,
defaults: new { controller = "Topic", action = "TopicDetails" });

endpointRouteBuilder.MapControllerRoute(name: NopRoutingDefaults.RouteName.Generic.ProductTag,
pattern: genericPattern,
defaults: new { controller = "Catalog", action = "ProductsByTag" });
}
< /code>
I try to change in this method but it reflect on both product detail and category both url.
I only want changes in productdetail page. How can I do this?
Please remember I want solution in nopcommerce 4.7.5

Подробнее здесь: https://stackoverflow.com/questions/792 ... erce-4-7-5
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»