|
Multifront uses a multi-tier BLL (Business Logic Layer) that has been organized to allow developers to easily extend the e-commerce functionality available out of the box.
Please Note
| • | The BLL does not include any database access functionality. You must avoid adding any data access functions and use the DAL instead to retrieve data |
| • | Modifying certain areas of the BLL could affect PCI compliance. You should refer to the PCI Compliance Guide included with Multifront before making any changes |
The Znode BLL
The Znode BLL in the Multifront Edition includes 14 different C# libraries that can be modified and deployed independently
| • | The ZNode.Libraries.ECommerce.Analytics library contains services for managing analytics code such as Google Analytics and the affiliate tracking. |
| • | The ZNode.Libraries.ECommerce.Catalog library encapsulates the functions needed for managing and displaying the product catalog. |
| • | The ZNode.Libraries.ECommerce.Entities library defines classes for product, Sku and add-on. |
| • | The ZNode.Libraries.ECommerce.Fulfillment library takes care of order and payment management. |
| • | The ZNode.Libraries.ECommerce.Promotions library handles coupon and non-coupon based discount calculations. |
| • | The ZNode.Libraries.ECommerce.SEO library provides the facilities for rewriting URLs and updating page meta tags. |
| • | The ZNode.Libraries.ECommerce.Service.Business library provides the business layer for the Store Multiplier web services (optional add-on). |
| • | The ZNode.Libraries.ECommerce.Service.Entities library provides the entities layer for the Store Multiplier web services (optional add-on). |
| • | The ZNode.Libraries.ECommerce.Shipping library encapsulates the shipping engine that calculates shipping rates. |
| • | The ZNode.Libraries.ECommerce.ShoppingCart library contains the implementation for the shopping cart. |
| • | The ZNode.Libraries.ECommerce.Suppliers library provides services for sending orders to different suppliers in various formats. |
| • | The ZNode.Libraries.ECommerce.Tagging library encapsulates the functions needed for product tags. |
| • | The ZNode.Libraries.ECommerce.Taxes library handles tax calculations. |
| • | The ZNode.Libraries.ECommerce.UserAccount library allows you to override User Account properties. |
| • | The ZNode.Libraries.FedEx library provides functions specific for calculating FedEx rates. |
| • | The ZNode.Libraries.TwoCheckout library provides functions specific to the 2Checkout payment service. |
| • | The ZNode.Libraries.UPS library provides functions specific for calculating FedEx rates. |
View of the Znode BLL Libraries

Extending the Znode BLL
The Business Logic Layer can be easily extended. New library DLLs can be copied to a production server without redeploying the entire application. Further, you can add new functionality to the Shipping, Supplier, Tax and Promotion libraries and configure them to be available as options in the storefront siteadmin. For example, you may want to add a new promotion that calculates 10% off orders on the 3rd day of every month. To do this you just need to do the following:
| 1. | Create a new class derived from ZNodePromotionRule (in this case you could start with the ZNodePromotionAmountOffOrder.cs class as an example). |
| 2. | Compile and run your application. |
| 3. | Now go into the storefront siteadmin and choose ADVANCED TOOLS from the top menu. Then select PROMOTION RULE ENGINE. |
| 4. | Next click on Add New Promotion Rule Type and fill out the form (again use ZNodePromotionAmountOffOrder as an example of how to fill this in). |
| 5. | Now your new function will show up in the Select Discount Type drop down when you add a new Promotion Rule. |
The same procedure will be used for extending the Shipping, Supplier and Tax libraries.
See Also:
Multifront Architecture
|