Skip to main content

You've been toasted!

Contrary to the popular belief, the Sitecore Commerce Experience Accelerator (CXA) is much more than just a set of the commerce-related SXA elements with a reference storefront. Even if your newly created Sitecore Commerce 9 storefront is not going to be SXA-compatible, it makes sense to re-use parts of the CXA features and foundation, as they conveniently encapsulate complexity of the raw Commerce Connect. Since CXA was initially created with the default storefront experience in mind, it still has quite a few quirks that one would not expect to see in a true production-ready framework.

One of the most notorious "features" is the default toaster image. Even if you are using a completely custom catalog, while extending the Sitecore.Commerce.XA.Feature.Catalog feature, product images default to a toaster image. Moreover, if the Commerce Connect chokes while generating catalog templates, and "forgets" to create the Images attribute (the infamous "first product without image" problem of 9.0.1), you would still get toasters. A quick look at the Sitecore.Commerce.XA.Feature.Catalog.Models.CatalogItemRenderingModel reveals why:

Right, it has a hard-coded image item ID. This is true for the latest Sitecore Commerce 9 Update 3 with SXA 1.8 based features. If your storefront uses Sitecore.Commerce.XA.Feature.Catalog don't forget to override the default image, or you'll get toasted!

Comments

Popular posts from this blog

SharePoint 2013 and "search scopes"

While SharePoint 2013 introduced some undeniably handy features in the content discovery department, some of the old functionality has changed so much that you'll have to forget many of the design tricks that worked in 2007 and 2010.  One of such pain points is deprecating search scopes in SharePoint 2013. The requirement Let's start with a trivial situation. You have a requirement that states: "A user should be able to perform different types of search from any page/sub site on the portal by selecting a type of search and specifying keyword(s)". This would be considered an out-of-box functionality in 2007/2010: you just enable search scopes dropdown (considering the search box control is already in the master page), and define scopes. Piece of cake! Well, not so much in 2013.   The problem The thing is - there's no search scopes in SharePoint 2013. OK, to be exact - there's no user-definable search scopes, as we still have a couple of built-in

What's in your cart?

Let's say, you've added product A to your shopping cart. Then you get back to the product details page and add product A again. What's going to happen? You will still have one line in your cart, but the quantity of product A will be equal two . This is a standard behavior of B2C shopping carts, including the Sitecore Commerce 9 ones. Now, imagine that your business processes require a bit more complicated scenarios, where you might want to actually create two lines in the cart, and avoid rolling them up into a single one. It is much more common than you might think. For example, you are buying two toasters of the same make and model, but you want only one of them gift-wrapped. Or you buy two pairs of glasses belonging to the same SKU, but you want to specify different prescriptions for them. Obviously, you do not want to roll them up under a single cart line. What does Sitecore Experience Commerce 9 provide you with in order to handle such scenarios? Let's take

Navigation Settings in SharePoint 2013 Site Definitions

Who likes creating SharePoint site definitions from scratch? Well, it's not my favorite part of the SharePoint development either. An initially good idea of setting up your whole site through an XML file, received implementation and support far from being perfect. That quickly lead developers to look for alternative ways of defining and provisioning sites, primarily through the SharePoint API. A simple ONET.XML with beefy code-packed features became de-facto standard. What was supposed to be a template became compiled code. I was hoping SharePoint 2013 would at least attempt to do something about it… Tasked with creating a few publishing portal site definitions, I was unpleasantly surprised to find out that any attempt to use my new site definition to provision a site collection root results in both Global and Current Navigation switched to "Managed Navigation" mode, while I needed it to stay in the good old "Structural Navigation" one. This mode is new to Sh