Product
Management

Snipcart commerce comes with a Dynamic Module to manage your products. It has the minimal fields required to power each of the display widgets but you can also extend and add your own fields. You can also use your existing Sitefinity eCommerce module products as well.

The objective of Snipcart commerce is a straight forward commerce site. With that in mind, the initial fields aren't meant to target any specialty scenarios. Basic requirements such as title, description, price and SEO fields. The most specialty one would be the 'sale' options.

Another goal was also to be a migration path away from the Sitefinity eCommerce platform.

Some sites may have invested a bit of integration around managing their products in Sitefinity. So it is possible to use the the existing Sitefinity eCommerce product items and the Snipcart MVC Feather display widgets without the need to redevelop their current product management integrations. There are some caveats to this and so if this is your goal consider contacting me first to go over your scenario.

Snipcart commerce product starts out with 15 fields that are required to run all the display widget functionality. You may not need all of them but I would recommend you don't delete any to ensure that nothing does break and future releases are compatible.

It is also unlikely that these are the only fields you will need for your products. You can add as many extra fields as you need. Below is an example with the Snipcart fields highlighted and extra fields added.

Snipcart commerce product fields

If you wish to use your existing Sitefinity eCommerce module items you can do this by specifying so when you place the Products display widget onto your page.

Snipcart product source

When selected the widget will look up products from the Sitefinity eCommerce product items and any associated attributes. (Variations in Snipcart commerce) It will also pull in any custom fields that you have made.

The sale options will also come through but currently 'Tier Pricing' does not. This feature is in scope so if it is a requirement for you let me know and hurry me along.

Razor View

Accessing the properties for the product views should be very familiar. The 'ViewModel' of the page predefines some fields while ay custom fields are accessed the same way as other Sitefinity view widgets.

Standard Fields

<h1>@Model.Title</h1>

Custom Fields

Custom fields is the same as you would do with Sitefinity items and you may be required to cast the object to the right type.

<h2 class="h3 black">@Model.Fields.SubTitle</h2>

The Add to Cart Button

Snipcart manages all its functionality through attributes on the 'Add to Cart' button. It is triggered by a speciality class named 'snipcart-add-item'. The View Model will build this button element and all the required attributes. I also add a class named 'btn-add-to-cart' for you to style your-self. I could have just left you to style the Snipcart one but I added the extra as I like to keep things separate.

If you need to add your own custom classes I would suggest doing a .Replace() function on the output.

@Html.Raw(Model.BuyButton.Replace("btn-add-to-cart""white button w-100"))