---
title: Extend search result display
slug: commerce-connect-14/docs/extend-search-result-display
docTags: 
createdAt: 2026-07-23T10:25:33.704Z
---

**Order Management** is available from the Optimizely Commerce Connect top menu.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/_vpDcbPwpvjH-fJue54dB_8a51139-ordermanagementscreen.png)

From Order Management you create and modify carts and purchase orders, and access information on customer profiles.

When adding a new line item to a cart or an order, a user finds the correct one by searching for it. If a product has many variants, the system helps the user select the correct one by displaying variant-specific information (for example size or color) for each search result. However, those properties differ from site to site. The system does a "best guess" by inspecting content types.

If you want more control over what is shown, use the `EPiServer.Commerce.Catalog.IEntryInformation` interface. By implementing `IEntryInformation`, and [replacing our default implementation](docId\:H_OSCPGONtwggHCyTNtFq), you can customize which properties are displayed. The interface returns a dictionary that should contain the names of properties to show, as well as a string representation of their value, suitable to be shown to the user.

In addition to the displayed variant-specific information, each search result contains a **More Details** link. This link directs you to the corresponding product page on our website. To change the URL the link points to, modify the `GetProductUrl` method and register the `IEntryInformation` class with `[ServiceConfiguration(typeof(IEntryInformation), Lifecycle = ServiceInstanceScope.Singleton)]`.

```csharp
public class CustomEntryInformation : IEntryInformation
    {   
        IRelationRepository _relationRepository = ServiceLocation.ServiceLocator.Current.GetInstance<IRelationRepository>();
        IUrlResolver _urlResolver = ServiceLocation.ServiceLocator.Current.GetInstance<IUrlResolver>();
    
        IEntryInformation _defaultImplementation;
        public CustomEntryInformation(IEntryInformation defaultImplementation)
        {
            _defaultImplementation = defaultImplementation;
        }
    
        public IDictionary<string, string> GetCustomProperties(EntryContentBase entry)
        {
            var myVariant = entry as MyVariant;
            if (myVariant == null)
            {
                return _defaultImplementation.GetCustomProperties(entry);
            }
    
            return new Dictionary<string, string>() {
                { nameof(myVariant.Size), myVariant.Size.ToString() },
                { nameof(myVariant.Color), myVariant.Color } };
         }
    
         public string GetProductUrl(EntryContentBase entry)
         {
             var productLink = entry is VariationContent ?  
             entry.GetParentProducts(_relationRepository).FirstOrDefault() : entry.ContentLink;
             if (productLink == null)
             {
                return string.Empty;
             }
    
             var urlBuilder = new UrlBuilder(_urlResolver.GetUrl(productLink));
             if (entry.Code != null)
             {
                urlBuilder.QueryCollection.Add("variationCode", entry.Code);
             }
    
             return urlBuilder.ToString();
         }
    }
    
    public class MyVariant : VariationContent
    {
        public virtual int Size { get; set; }
        public virtual string Color { get; set; }
        public virtual int IntegrationCode { get; set; }
    }
```
