Customizing Item Name Display in PLP, PDP, and Cart via Configuration

Create Configuration Record

"SiteSpecific.fieldName": {
  "type": "string",
  "title": "Field Name",
  "description": "Enter the item field name to display as name for this subsidiary/domain",
  "default": "storedescription",
  "group": "shoppingApplication",
  "subtab": "SiteSpecific"
}

PLP

 plp.addToViewContextDefinition('Facets.ItemCell.View', 'name', 'string', function name(context) {
                        var model = _.find(plp.getItemsInfo(), function(item) {


                            return item.internalid == context.itemId
                        });
                        //return model.storedescription
                        var del=model.storedescription
                        try {
                            if(model[configuredDescription]){
                                 del=model[configuredDescription];
                            }
                         
                        } catch (e) {
                            console.log(e);
                        }
                        if(!del)
                            del=model.storedescription
                        return del;


                    });

PDP

   pdp.addToViewContextDefinition('ProductDetails.Full.View', 'pageHeader', 'string', function pageHeader(context) {
                        var model = _.find(pdp.getItemInfo(), function(item) {


                            return item.internalid == context.itemId
                        });
                        //return context.model.item.storedescription;
                        var del=context.model.item.storedescription
                        try {
                             if (configuredDescription && context.model.item[configuredDescription]) {
                                del = context.model.item[configuredDescription];
                            }
                           
                        } catch (e) {
                            console.log(e);
                        }
                        if(!del)
                            del=context.model.item.storedescription;
                        return del;
                    });

CART

 cart.addToViewContextDefinition('Cart.Lines.View', 'itemname', 'string', function cartName(context) {
                        //return context.item.storedescription;
                        var del=context.item.storedescription
                        try {
                            
                            if (configuredDescription && context.item[configuredDescription]){
                                 del=context.item[configuredDescription];
                            }
                          
                        } catch (e) {
                            console.log(e);
                        }
                        if(!del)
                            del=context.item.storedescription;
                        return del;
                    });

Leave a comment

Your email address will not be published. Required fields are marked *