如何规范Hybris中的URL

时间:2018-12-17 10:05:38

标签: spring url hybris

当我在用户界面中搜索类别和产品时,我的URL看起来像

一样
�,  // c//p/010 

如何摆脱这些字符?
Hybris中有任何开箱即用的解决方案吗?

2 个答案:

答案 0 :(得分:2)

Hybris在类别,产品和内容页面URL中做了很多转义特殊字符。为此考虑de.hybris.platform.commerceservices.url.impl.AbstractUrlResolver和所有子类。

最常见的是:

  • DefaultCategoryModelUrlResolver
  • DefaultProductModelUrlResolver
  • DefaultContentPageUrlResolver

像这样使用它们:

...
@Resource(name = "productModelUrlResolver")
private UrlResolver<ProductModel> productModelUrlResolver;
...
ProductModel product = productService.getProductForCode("myProduct");
String url = productModelUrlResolver.resolve(product);

答案 1 :(得分:0)

将以下内容添加到 core-spring.xml

<alias name="mysiteProductModelUrlResolver" alias="productModelUrlResolver"/>
<bean id="mysiteProductModelUrlResolver"
      class="de.hybris.platform.commerceservices.url.impl.DefaultProductModelUrlResolver">
    <property name="threadContextService" ref="threadContextService"/>
    <property name="commerceCategoryService" ref="commerceCategoryService"/>
    <property name="baseSiteService" ref="baseSiteService"/>
    <property name="defaultPattern" value="/product/{product-code}"/>
    <property name="productAndCategoryHelper" ref="productAndCategoryHelper"/>
</bean>

并将 ProductPageController 更改为 @RequestMapping(value = "/**/product")