Tuesday, March 22, 2016

Endeca Assembler : Does Breadcrumb provide URL for individual refinement?

Breadcrumbs represents the active navigation state or current selection of navigation state. This may contains refinement or search breadcr... thumbnail 1 summary
Breadcrumbs represents the active navigation state or current selection of navigation state. This may contains refinement or search breadcrumb. 



Behaviour :-

Endeca Assembler imeplemenation provide a way to get "removeAction" URL. "removeAction" gives a URL to remove a breadcrumb. Some times selected refinement URL required to retain breadcrumbs. As per image below. 

Example:-
1. User land on sale page created using product.OnSale->1 value in XM.
2. User Selected multiple refinement under sale page.
3. Click on Remove All. This action should get back to Sale Page. 
4. Currently breadcrumb provides remove URL for  product.OnSale->1 not for sale dimension it self


Breadcrumb removeAction Removeall URL



Assembler provide a response like below :-
<Property name="removeAction">
<Item class="class com.endeca.infront.cartridge.model.NavigationAction">
<Property name="contentPath">
<String>/browse</String>
</Property>
<Property name="navigationState">
<String>/_/N-yoxkik?format=xml</String>
</Property>
<Property name="siteRootPath">
<String>/pages</String>
</Property>
</Item>
</Property>
</Item>
</Property>



Solution :-

In ATG, CRS extends Endeca OOTB BreadCrumbsHanddler to StoreBreadcrumbsHandler.

Extend StoreBreadcrumbsHandler and write a logic to populate URL for self. Below code would provide the URL and set into Breadcrumb properties.

 NavigationState.selectNavigationFilter(dimension.getDescriptor().getId())

Output would below, URL is customized property name for dimension :-
<Property name="URL">
<String>
/assortments-and-baskets/bakery-assortments/_/N-d6hiw0?format=xml
</String>

</Property>

Click here to get more information related to ATG-Endeca Integration.

No comments

Post a Comment

Text Widget