0

When I search categories and products in User Interface, my URL looks broken like

�,  // c//p/010 

how can I get rid of this characters?
Is there any out of box solution in Hybris?

Daniele Santi
  • 771
  • 3
  • 24
  • 31

2 Answers2

4

Hybris does a lot of escaping special characters in category and product and content page URLs. Consider de.hybris.platform.commerceservices.url.impl.AbstractUrlResolver and all subclasses for that purpose.

Here are the most common ones:

  • DefaultCategoryModelUrlResolver
  • DefaultProductModelUrlResolver
  • DefaultContentPageUrlResolver

Use them like this:

...
@Resource(name = "productModelUrlResolver")
private UrlResolver<ProductModel> productModelUrlResolver;
...
ProductModel product = productService.getProductForCode("myProduct");
String url = productModelUrlResolver.resolve(product);
Johannes von Zmuda
  • 1,814
  • 8
  • 14
  • Thank you so much for your answer. Could you please kindly give me an example of code on DefaultProductModelUrlResolverr to be able to get rid of that characters – curious565656 Dec 17 '18 at 11:51
0

Add the following to 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>

and change ProductPageController to @RequestMapping(value = "/**/product")

lbragile
  • 7,549
  • 3
  • 27
  • 64
rnedit
  • 11
  • 1