You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Overview

In many scenarios, products can be sold to the consumer in varying units. For example, copy paper might be sold by the ream, the carton, or the pallet. Some merchants will create 3 unique product codes to cater for these options.

However, from version 3.82+, the functionality exists in BPD to use just 1 product code, while offering a Unit of Measure selector when adding to cart.

The Unit of Measure enhancement is a role-based function. So you can have B2C customers purchasing products in their retail packaging, while offering B2B customers the option of buying in bulk. 

When the sales unit is changed by the user, the price of the product will update accordingly. 
 

Default Unit of MeasureAlternate Unit of Measure

 

For UOM Selection to work correctly on the web, it goes without saying that product data in your PRONTO ERP must be correct as well. 

At a minimum, ERP product data should include:  

  • Unit Descriptoin
  • Alternate Unit Description
  • Conversion Factor

 

Step-by-step guides

1. Enable UOM Selection at the Role level: 

  1. Login to the CMS.
  2. Navigate to Users --> Roles
  3. Select the required role. 
  4. Select the Functions tab.
  5. Click 'Modify'.
  6. Tick the 'Allow UOM Selection On Products' option. 
     
  7. Ensure the 'Use Alternate Product Units' option is NOT ticked.
  8. Click 'OK' to save. 

 

2. Enable the Display of the Unit Selector

First, ensure you're using the zoned layout for product lists:

  1. Login to the CMS. 
  2. Navigate to Content --> Standard Pages
  3. Select the Product List template. 
  4. Edit the Product List Grid widget. 
  5. Ensure 'Use Zoned Product Layout?' is enabled.
     

 

Next, add the new widget to the zoned product list template: 

  1. Navigate to Content --> Standard Pages.
  2. Select the Product List Item Zoned template. 
  3. Add the 'Product List Unit Of Measure' widget to the appropriate zone (this is dependant on your site design, but zone Column2Bottom is a good starting point). 

 

Lastly, create a custom widget and add it to the product detail page: 

  1. Navigate to Advanced Content --> Custom Widgets.
  2. Click 'Add New Widget'.
  3. Give the widget a Name and Description (e.g. UOM Selector).
  4. Leave the Cache Mode set to 'None'. 
  5. Paste the code from the code block below into the 'Source Code' field. 
     
  6. Click 'Save & Exit'. 
  7. Navigate to Content --> Standard Pages
  8. Select the Product Detail template. 
  9. In the zone MainRight, click Add Widget.
  10. Search 'CUS' to bring up the list of your custom widgets. 
  11. Select the one you just created and click Add Widget

    @if (((IDictionary<String, Object>)Model).ContainsKey("item")) {
        if (Model.item.Count > 0) {
    		if (Model.item["RandomWeight"].ToString() == "1") {
          		<span class="widget-productlist-unit">Approx. @Model.item["ConversionFactor"].ToString("N2") @Model.item.UnitDescription.ToString() per Unit</span><br \>       
    			<span class="widget-productlist-unit">UNITS per CTN: @Model.item["ItemsPerCtn"].ToString("N0") </span>       
          	} else {
          		<span class="widget-productlist-unit">@Model.item["ConversionFactor"].ToString("N2") @Model.item.UnitDescription per @Model.item.AltUnitDescription</span><br /><br />
          	}
        }
    }
    
    @if (((IDictionary<String, Object>)Model).ContainsKey("Product"))
    {
        if (Model.Product.Count > 0) {    
    		  if (Model.Product["RandomWeight"].ToString() == "1") {
              <span class="product-info">&nbsp;
                  <span><strong>Approx. @Model.Product["ConversionFactor"].ToString("N2") @Model.Product.UnitDescription per Unit</strong></span>
              </span>        
    		  } else {
              <span class="product-info">&nbsp;
                  <span>@Model.Product["ConversionFactor"].ToString("N2") @Model.Product.UnitDescription per @Model.Product.AltUnitDescription</span>
              </span>        
          }
        }
    }

 

 

Please note - this functionality is not available for use in Fast Order Entry.

  • No labels